图像渲染方法及装置与流程

文档序号:14679385发布日期:2018-06-12 21:59阅读:153来源:国知局
图像渲染方法及装置与流程

本发明涉及图像处理技术领域,具体而言,涉及一种图像渲染方法及装置。



背景技术:

随着渲染技术的快速发展,对渲染的要求越来越高。在虚拟场景中,为了模拟真实树木效果有各种各样的解决方案。例如,在现有技术中,可使用speedtree的三维立体树、直接使用billboard或X型面片来模拟树木。其中speedtree设置距离达到近距离为三维立体树木,远距离为二维树木。当摄影机水平看到树木,可以使用billboard或者X型面片。使用大量speedtree会产生大量的内存消耗,同时在运行时效率低下。如果使用billboard或者X型树木,远距离缺少层次感。摄影机垂直渲染时也无法显示树木。



技术实现要素:

为了克服上述现有技术中的不足,本发明提供一种图像渲染方法及装置,针对目标对象的不同观察视角范围,获得相应的二维投影图像,以减少对系统资源的消耗,提升对目标对象的渲染效果,进而解决上述问题。

为了实现上述目的,本发明较佳实施例所提供的技术方案如下所示:

本发明较佳实施例提供一种图像渲染方法,应用于电子设备,所述电子设备预先存储有针对目标对象在不同预设观察视角范围对应的二维投影图像;所述方法包括:

针对每个目标对象,获得目标视点相对目标对象所处的预设观察视角范围,并作为目标视角范围;

从预先存储的多个二维投影图像中选取与所述目标视角范围对应的二维投影图像,并作为目标贴图;

根据所述目标贴图进行渲染。

可选地,上述获得目标视点相对目标对象所处的预设观察视角范围,并作为目标视角范围的步骤,包括:

获取所述目标视点与参考面的距离值L及所述目标视点与目标对象的距离值M,并根据所述距离值L及距离值M计算所述目标视点与所述目标对象的连线相对于所述参考面的夹角β;

识别所述夹角β对应的观察视角范围,并将该观察视角范围作为所述目标视角范围。

可选地,上述根据所述距离值L及距离值M计算所述目标视点与所述目标对象的连线相对于所述参考面的夹角β的步骤,包括:

根据公式计算得到所述夹角的值β。

可选地,上述目标对象为多个,所述根据所述目标贴图进行渲染的步骤,包括:

针对每个目标贴图,根据所述目标贴图的坐标数据,计算所述目标贴图相对于所述目标视点的可见区域;

对所述目标贴图的可见区域进行渲染。

可选地,上述从预先存储的多个二维投影图像中选取与所述目标视角范围对应的二维投影图像,并作为目标贴图的步骤,包括:

根据所述目标视角范围,从多个预设视角范围中选取所述目标贴图,其中,所述目标贴图对应的预设观察视角范围与所述目标视角范围相同。

可选地,上述获得目标视点相对目标对象所处的预设观察视角范围的步骤之前,所述方法包括:

根据所述目标对象的三维图像,获取所述三维图像在各预设观察视角范围内呈现的二维投影图像,并将各二维投影图像存储在所述电子设备,其中,一个所述预设观察视角范围获取一张所述二维投影图像。

本发明较佳实施例还提供一种图像渲染装置,应用于电子设备,所述电子设备预先存储有针对目标对象在不同预设观察视角范围对应的二维投影图像;所述图像渲染装置包括:

获得单元,针对每个目标对象,用于获得目标视点相对目标对象所处的预设观察视角范围,并作为目标视角范围;

选取单元,用于从预先存储的多个二维投影图像中选取与所述目标视角范围对应的二维投影图像,并作为目标贴图;

渲染单元,用于根据所述目标贴图进行渲染。

可选地,上述目标对象为多个,所述渲染单元还用于:

针对每个目标贴图,根据所述目标贴图的坐标数据,计算所述目标贴图相对于所述目标视点的可见区域;

对所述目标贴图的可见区域进行渲染。

可选地,上述选取单元还用于:根据所述目标视角范围,从多个预设视角范围中选取所述目标贴图,其中,所述目标贴图对应的预设观察视角范围与所述目标视角范围相同。

可选地,上述图像渲染装置还包括图像获取存储单元,在所述获得单元获得目标视点相对目标对象所处的预设观察视角范围之前,所述图像获取存储单元用于:

根据所述目标对象的三维图像,获取所述三维图像在各预设观察视角范围内呈现的二维投影图像,并将各二维投影图像存储在所述电子设备,其中,一个所述预设观察视角范围获取一张所述二维投影图像。

相对于现有技术而言,本发明提供的图像渲染方法及装置至少具有以下有益效果:本方案通过针对每个目标对象,获得目标视点相对目标对象所处的预设观察视角范围,并作为目标视角范围;从预先存储的多个二维投影图像中选取与所述目标视角范围对应的二维投影图像,并作为目标贴图;根据所述目标贴图进行渲染。该方案通过电子设备预先存储有针对目标对象在不同预设观察视角范围对应的二维投影图像,然后根据目标视角范围选取相应的二维投影图像进行渲染,使得渲染的图像具有层次感,另外,该方案还可提升渲染的效率,有助于减少对系统资源的消耗。

为使本发明的上述目的、特征和优点能更明显易懂,下文特举本发明较佳实施例,并配合所附附图,作详细说明如下。

附图说明

为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍。应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。

图1为本发明较佳实施例提供的电子设备的方框示意图。

图2为本发明较佳实施例提供的图像渲染方法的流程示意图之一。

图3为本发明较佳实施例提供的二维投影图像的示意图。

图4为本发明较佳实施例提供的俯视渲染图像的示意图。

图5为本发明较佳实施例提供的图像渲染方法的流程示意图之二。

图6为本发明较佳实施例提供的图像渲染装置的方框示意图。

图标:10-电子设备;11-处理单元;12-存储单元;100-图像渲染装置;110-获得单元;120-选取单元;130-渲染单元;140-图像获取存储单元。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。显然,所描述的实施例仅仅是本发明的一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。

因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。

应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。此外,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。

在现有技术中,通常使用speedtree的三维立体树、直接使用公告板(billboard)或X型面片来模拟树木。其中speedtree设置距离达到近距离为三维立体树木,远距离为二维树木。当摄影机水平看到树木,可以使用billboard或者X型面片。若使用大量speedtree会产生大量的内存消耗,同时对计算资源占用大,导致在运行期间渲染的效率低下。若使用billboard或者X型树木,远距离缺少层次感,摄影机垂直渲染时也无法显示树木。

如何提供一种科学的图像渲染方法,能够减少对系统资源的消耗,提升渲染效率并提高渲染的画面的层次感,是本领域技术人员的一大难题。可理解地,所述系统资源的消耗包括内存占用状况及处理器的占用状况。鉴于上述问题,本申请发明人经过长期研究探索,提出以下实施例以解决上述问题。下面结合附图,对本发明实施例作详细说明。在不冲突的情况下,下述的实施例及实施例中的特征可以相互组合。

请参照图1,为本发明较佳实施例提供的电子设备10的方框示意图。本发明提供的电子设备10可以用于执行下述的图像渲染方法。所述电子设备10可以是,但不限于,智能手机、个人电脑(personal computer,PC)、平板电脑、个人数字助理(personal digital assistant,PDA)、移动上网设备(mobile Internet device,MID)等。

在本实施例中,该电子设备10包括处理单元11、存储单元12以及图像渲染装置100,所述处理单元11、存储单元12以及图像渲染装置100各个元件之间直接或间接地电性连接,以实现数据的传输或交互。例如,这些元件相互之间可通过一条或多条通讯总线或信号线实现电性连接。

所述处理单元11可以是处理器。例如,该处理器可以是中央处理器(Central Processing Unit,CPU)、图形处理器(Graphics Processing Unit,GPU)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。

所述存储单元12可以是,但不限于,随机存取存储器,只读存储器,可编程只读存储器,可擦除可编程只读存储器,电可擦除可编程只读存储器等。在本实施例中,所述存储单元12可以用于存储针对目标对象在不同预设观察视角范围对应的二维投影图像。当然,所述存储单元12还可以用于存储程序,所述处理单元11在接收到执行指令后,执行该程序。

进一步地,所述图像渲染装置100包括至少一个可以软件或固件(firmware)的形式存储于所述存储单元12中或固化在所述电子设备10操作系统(operating system,OS)中的软件功能模块。所述处理单元11用于执行所述存储单元12中存储的可执行模块,例如图像渲染装置100所包括的软件功能模块及计算机程序等。

可以理解的是,图1所示的结构仅为电子设备10的一种结构示意图,所述电子设备10还可以包括比图1所示更多或更少的组件。图1中所示的各组件可以采用硬件、软件或其组合实现。

请参照图2,为本发明较佳实施例提供的图像渲染方法的流程示意图之一。本发明提供的图像渲染方法可以应用于上述的电子设备10,通过该电子设备10执行该图像渲染方法,以减少对系统资源的消耗,提升对图像的渲染效率,且使得渲染的图像具有层次感。可选地,该方法可以用于渲染电竞游戏或动漫中的植被。

下面将对图2中所示的图像渲染方法的各步骤进行详细阐述,在本实施例中,该图像渲染方法可以包括以下步骤:

步骤S210,针对每个目标对象,获得目标视点相对目标对象所处的预设观察视角范围,并作为目标视角范围。

在本实施例中,所述目标对象可以是,但不限于植被模型(比如三维立体树)、道具模型(比如三维刀、枪、剑等)、三维人物模型等。可理解地,目标视点为摄像机获取目标对象所在的位置,该摄像机为虚拟摄像机,用于获取各模型的画面以形成图像或视频。以每个目标对象为参考点,各目标对象与目标视点形成的目标视角范围可能不同,也可能相同。

请参照图3,为本发明较佳实施例提供的二维投影图像的示意图。在本实施例中,可选地,步骤S210可以为:获取所述目标视点与参考面的距离值L及所述目标视点与目标对象的距离值M,并根据所述距离值L及距离值M计算所述目标视点与所述目标对象的连线相对于所述参考面的夹角β;识别所述夹角β对应的观察视角范围,并将该观察视角范围作为所述目标视角范围。

可以理解地,图3中所示的A为目标视点,B为目标对象或预设对象(比如以billboard中心点作为B点),C为目标视点投影到参考面的投影点,以形成直角三角形ABC。其中,目标视点与参考面的距离值L,也就是边AC的长度值为L;目标视点与目标对象的距离值M,也就是边AB的长度值为M;夹角β即为∠ABC的值。

可选地,可根据公式计算得到所述夹角的值β。根据得到的夹角β,可识别出该夹角β对应的观察视角范围。

值得说明的是,在其他实施例中,也可以以不同于上述的实施方式计算所述夹角β或者确定夹角β对应的观察视角范围,这里对计算夹角β或者确定夹角β对应的观察视角范围的方式不作具体限定,只要能确定该夹角β对应的观察视角范围即可。

步骤S220,从预先存储的多个二维投影图像中选取与所述目标视角范围对应的二维投影图像,并作为目标贴图。

可理解地,电子设备10预先存储有每个目标对象的二维投影图像,而每个目标对象关联有多个不同观察视角范围的二维投影图像。步骤S220可以为:根据所述目标视角范围,从多个预设视角范围中选取所述目标贴图,其中,所述目标贴图对应的预设观察视角范围与所述目标视角范围相同。

步骤S230,根据所述目标贴图进行渲染。

可理解地,基于与目标贴图对应预设的二维投影图像的纹理、灰度值、RGB值等,对目标贴图进行渲染,以得到渲染后的视图。

在本实施例中,若所述目标对象为多个,步骤S230可以为:针对每个目标贴图,根据所述目标贴图的坐标数据,计算所述目标贴图相对于所述目标视点的可见区域;对所述目标贴图的可见区域进行渲染。

可理解地,若需要对多个目标对象进行渲染,目标对象之间可能存在遮挡区域,而需要渲染的区域为未被遮挡的区域(也就是可见区域)。通过对目标贴图中位于可见区域的部分进行渲染,可得到目标视角的模拟场景画面。其中,遮挡区域可以理解为:假设以目标视点为光源,目标贴图投影在其他目标贴图上的阴影区域便为遮挡区域。

在现有技术中,电子设备10一般只存储有目标对象在正视角度下的贴图,而该贴图在俯视时,呈现的便为一条线段,而不是目标对象在俯视状态下的真实俯视视图,导致呈现的画面的与实际画面差距大。请参照图4,为本发明较佳实施例提供的俯视渲染图像的示意图。在本实施例中,通过上述的方法,可以得到俯视视角下的目标贴图,而该目标贴图趋近于当前视角下目标对象的实际视图。

请参照图5,为本发明较佳实施例提供的图像渲染方法的流程示意图之二。在本实施例中,在步骤S210之前,该方法还可以包括步骤S240。

步骤S240,根据所述目标对象的三维图像,获取所述三维图像在各预设观察视角范围内呈现的二维投影图像,并将各二维投影图像存储在所述电子设备10,其中,一个所述预设观察视角范围获取一张所述二维投影图像。

请再次参照图3,在本实施例中,以目标对象为参考点,将目标对象所在的空间划分为多个观察视角区域,其划分的个数可根据实际情况而设置。为进一步减少对内存的占用,目标视点在同一观察视角区域中只对应一张二维投影图像。该同一观察视角区域可理解为:基于参考面的垂线,该垂线的垂足为目标对象B,将观察视角区域对应的扇形区域绕该垂线旋转得到的空间区域。也就是若目标视点位于该空间区域,仅形成一张与该空间区域对应的二维投影图像,该二维投影图像可根据实际情况从该空间区域中的一视点得到,这里不作具体限定。

值得说明的是,在其他实施方式中,位于上述的同一空间区域时,还可根据目标视点在空间区域相对目标对象的方向配置对应的二维投影图像,比如在目标对象的前后左右分别配置一个二维投影图像。

基于上述设计,通过对二维图像渲染,可减少对系统内存资源的占用量,另外,不同的观察视角范围具有对应的二维投影图像,在渲染多个不同远近距离的目标对象时,可使得渲染的图像具有层次感。

图6为本发明较佳实施例提供的图像渲染装置100的方框示意图。该图像渲染装置100可以应用于上述的电子设备10,用于执行图像渲染方法。所述电子设备10预先存储有针对目标对象在不同预设观察视角范围对应的二维投影图像;所述图像渲染装置100可以包括获得单元110、选取单元120以及渲染单元130。

获得单元110,针对每个目标对象,用于获得目标视点相对目标对象所处的预设观察视角范围,并作为目标视角范围。具体地,该获得单元110可以用于执行如图2所示的步骤S210,具体执行的操作内容可参照对步骤S210的详细描述。

选取单元120,用于从预先存储的多个二维投影图像中选取与所述目标视角范围对应的二维投影图像,并作为目标贴图。

进一步地,选取单元120还用于根据所述目标视角范围,从多个预设视角范围中选取所述目标贴图,其中,所述目标贴图对应的预设观察视角范围与所述目标视角范围相同。

具体地,该选取单元120可以用于执行如图2所示的步骤S220,具体执行的操作内容可参照对步骤S220的详细描述。

渲染单元130,用于根据所述目标贴图进行渲染。若目标对象为多个,所述渲染单元130还用于:针对每个目标贴图,根据所述目标贴图的坐标数据,计算所述目标贴图相对于所述目标视点的可见区域;对所述目标贴图的可见区域进行渲染。具体地,该渲染单元130可以用于执行如图2所示的步骤S230,具体执行的操作内容可参照对步骤S230的详细描述。

所述图像渲染装置100还包括图像获取存储单元140。在所述获得单元110执行步骤S210之前,所述图像获取存储单元140用于:根据所述目标对象的三维图像,获取所述三维图像在各预设观察视角范围内呈现的二维投影图像,并将各二维投影图像存储在所述电子设备10,其中,一个所述预设观察视角范围获取一张所述二维投影图像。具体地,该获取存储单元12可以用于执行如图5所示的步骤S240,具体执行的操作内容可参照对步骤S240的详细描述。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明可以通过硬件实现,也可以借助软件加必要的通用硬件平台的方式来实现,基于这样的理解,本发明的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施场景所述的方法。

综上所述,本发明提供一种图像渲染方法及装置,通过针对每个目标对象,获得目标视点相对目标对象所处的预设观察视角范围,并作为目标视角范围;从预先存储的多个二维投影图像中选取与所述目标视角范围对应的二维投影图像,并作为目标贴图;根据所述目标贴图进行渲染。该方案通过电子设备预先存储有针对目标对象在不同预设观察视角范围对应的二维投影图像,然后根据目标视角范围选取相应的二维投影图像进行渲染,使得渲染的图像具有层次感,另外,该方案还可提升渲染的效率,有助于减少对系统资源的消耗。

以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1