三维巡航渲染方法及装置与流程

文档序号:15561074发布日期:2018-09-29 02:15阅读:190来源:国知局

本发明涉及基于巡航的图像处理技术领域,具体而言,涉及一种三维巡航渲染方法及装置。



背景技术:

随着信息时代的发展,对于数据可视化,自动化的要求变得越来越高。例如,巡航在3d可视化中有着广泛的应用,但目前巡航的效率较低。当存在多个巡航目标时,对计算机硬件性能要求高。现有的技术方案中,在巡航画面渲染时,通常需要实时读取目标坐标位置,然后将获取到的位置信息传递给虚拟摄像头,然后虚拟摄像头根据一定的算法计算出自身移动的距离,以实现对画面的跟进。

在现有技术中,因每次渲染帧都需要计算地理位置信息,对设备硬件性能能力要求高,随着时间推移或跟踪目标数量的增多将会对呈现的动画的流畅度造成影响,使得对设备硬件的要求更高。另外,因需要不断调用目标对象的获取坐标,当目标对象不存在移动时,此时的调用为无效调用,浪费了设备的运算资源。因此,如何提供一种可解决上述问题的方案,已成为本领技术人员的一大难题。



技术实现要素:

为了克服上述现有技术中的不足,本发明提供一种三维巡航渲染方法及装置,能够降低运算资源,有助于提升渲染的画面的流畅度,进而解决上述问题。

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

本发明较佳实施例提供一种三维巡航渲染方法,应用于电子设备,所述电子设备预先存储有包括待渲染对象的三维场景模型,所述方法包括:

基于控制数据控制摄像头在所述三维场景模型中运动;

在所述摄像头运动过程中,每隔预设时长获取所述摄像头的第二坐标;

将所述待渲染对象关联的第一坐标更改为所述第二坐标,其中,所述待渲染对象预先关联有所述摄像头的所述第一坐标,所述待渲染对象与所述摄像头相关联;

基于所述第二坐标,将所述三维场景模型在所述摄像头的视野范围内的区域作为待渲染区域,并对所述待渲染区域进行渲染。

可选地,上述控制数据包括预设运动速度、预设运动路径、获得的运动方向中的至少一种数据。

可选地,上述基于控制数据控制摄像头在所述三维场景模型中运动的步骤之前,所述方法包括:

基于所述三维场景模型构建至少一条运动路径数据以作为所述预设运动路径;

将所述至少一条运动路径数据存储于预先构建的数组中。

可选地,上述基于控制数据控制摄像头在所述三维场景模型中运动的步骤,包括:

从所述数组中选取一条运动路径数据以作为所述控制数据,所述摄像头根据所述运动路径数据在所述三维场景模型中运动。

可选地,上述基于控制数据控制摄像头在所述三维场景模型中运动的步骤,包括:

基于预设运动速度及输入模块生成的运动方向,控制所述摄像头在所述三维场景模型中运动。

可选地,上述输入模块包括鼠标、键盘中的至少一种。

本发明较佳实施例还提供一种三维巡航渲染装置,应用于电子设备,所述电子设备预先存储有包括待渲染对象的三维场景模型,所述三维巡航渲染装置包括:

运动控制模块,用于基于控制数据控制摄像头在所述三维场景模型中运动;

坐标获取模块,用于在所述摄像头运动过程中,每隔预设时长获取所述摄像头的第二坐标;

坐标更改模块,用于将所述待渲染对象关联的第一坐标更改为所述第二坐标,其中,所述待渲染对象预先关联有所述摄像头的所述第一坐标,所述待渲染对象与所述摄像头相关联;

渲染模块,用于基于所述第二坐标,将所述三维场景模型在所述摄像头的视野范围内的区域作为待渲染区域,并对所述待渲染区域进行渲染。

可选地,上述三维巡航渲染装置还包括路径构建模块及数组存储模块;

在所述运动控制模块基于控制数据控制摄像头在所述三维场景模型中运动的步骤之前,所述路径构建模块用于基于所述三维场景模型构建至少一条运动路径数据以作为预设运动路径;所述数组存储模块用于将所述至少一条运动路径数据存储于预先构建的数组中。

可选地,上述运动控制模块还用于:

从所述数组中选取一条运动路径数据以作为所述控制数据,所述摄像头根据所述运动路径数据在所述三维场景模型中运动。

可选地,上述运动控制模块还用于:

基于预设运动速度及输入模块生成的运动方向,控制所述摄像头在所述三维场景模型中运动。

相对于现有技术而言,本发明提供的三维巡航渲染方法及装置至少具有以下有益效果:该方法通过基于控制数据控制摄像头在三维场景模型中运动;在摄像头运动过程中,每隔预设时长获取摄像头的第二坐标;将待渲染对象关联的第一坐标更改为第二坐标,其中,待渲染对象预先关联有摄像头的第一坐标,待渲染对象与摄像头相关联;基于第二坐标,将三维场景模型在摄像头的视野范围内的区域作为待渲染区域,并对待渲染区域进行渲染。本方案通过将待渲染对象与摄像头的坐标进行关联,在摄像头运动后,待渲染对象会自动关联的摄像头的位置,从而有利于对相对于摄像头运动的待渲染对象进行渲染,降低对坐标的运算量,进而有利于提高渲染的画面的流畅度。

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

附图说明

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

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

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

图3为本发明较佳实施例提供的三维巡航渲染方法的流程示意图之二。

图4为本发明较佳实施例提供的三维巡航渲染装置的方框示意图之一。

图5为本发明较佳实施例提供的三维巡航渲染装置的方框示意图之二。

图标:10-电子设备;11-处理单元;12-显示单元;13-存储单元;100-三维巡航渲染装置;110-运动控制模块;120-坐标获取模块;130-坐标更改模块;140-渲染模块;150-路径构建模块;160-数组存储模块。

具体实施方式

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

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

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

下面结合附图,对本发明的一些实施方式作详细说明。在不冲突的情况下,下述的实施例及实施例中的特征可以相互组合。

请参照图1,为本发明较佳实施例提供的电子设备10的方框示意图。本发明提供的电子设备10可以用于执行下述的三维巡航渲染方法的各步骤。该电子设备10预先存储有三维场景模型,该三维场景模型包括至少一个待渲染对象。

可理解地,待渲染对象为三维场景模型中静止的三维模型或者运动的三维模型。比如,三维场景模型为一工厂厂房的三维模型,待渲染对象可以为厂房中的设备、座椅等物体的三维模型。也就是三维场景模型及待渲染对象可根据实际情况进行设置,这里不作具体限定。

进一步地,所述电子设备10可以是,但不限于,智能手机、个人电脑(personalcomputer,pc)、平板电脑、个人数字助理(personaldigitalassistant,pda)、移动上网设备(mobileinternetdevice,mid)等。

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

所述处理单元11可以是处理器。例如,该处理器可以是中央处理器(centralprocessingunit,cpu)、图形处理器(graphicsprocessingunit,gpu)、网络处理器(networkprocessor,np)等;还可以是数字信号处理器(dsp)、专用集成电路(asic)、现场可编程门阵列(fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。

所述显示单元12可以是,但不限于液晶显示屏、led显示屏。该显示单元12用于显示三维场景模型并呈现出渲染后的画面。

所述存储单元13可以是,但不限于,随机存取存储器,只读存储器,可编程只读存储器,可擦除可编程只读存储器,电可擦除可编程只读存储器等。在本实施例中,所述存储单元13可以用于存储三维场景模型、数组等。当然,所述存储单元13还可以用于存储程序,所述处理单元11在接收到执行指令后,执行该程序。

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

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

请参照图2,为本发明较佳实施例提供的三维巡航渲染方法的流程示意图之一。本发明提供的三维巡航渲染方法可以应用于上述的电子设备10,有电子设备10执行该三维巡航渲染方法的各步骤。其中,电子设备10预先存储有三维场景模型。

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

步骤s210,基于控制数据控制摄像头在所述三维场景模型中运动。

可理解地,摄像头为虚拟的图像采集装置,而非实物中的摄像头,该虚拟的摄像头用于获取三维场景模型的至少部分区域的图像,该摄像头的运动控制可以为自动控制或手动控制或者二者相结合。控制数据包括预设运动速度、预设运动路径、获得的运动方向中的至少一种数据。

例如,摄像头为通过控制数据实现的自动运动,也就是自动控制。该控制数据可以为预先基于三维场景模型设置的运动路径(也就是预设运动路径)及预设运动速度。也就是摄像头可按照预设运动速度沿预设运动路径在三维场景模型中运动以实现自动巡航。

又例如,摄像头为在输入模块的控制下实现的运动,也就是手动巡航。步骤s210可以为:基于预设运动速度及输入模块生成的运动方向,控制所述摄像头在所述三维场景模型中运动。即,该控制数据可以为输入模块生成的运动方向数据。比如,该输入模块为鼠标和/或键盘,通过点击鼠标或键盘上的按键用于生成控制摄像头运动方向的数据指令,摄像头基于该数据指令实现巡航。

值得说明的是,在手动巡航的条件下,用户可通过输入模块调节摄像头的方位角和/或俯仰角,用于展示不同视角下在摄像头视野范围内的三维场景模型。

步骤s220,在所述摄像头运动过程中,每隔预设时长获取所述摄像头的第二坐标。

可理解地,若摄像头处于静止状态,则在摄像头静止期间可以仅获取一次该摄像头的第二坐标,以减少获取坐标的次数,从而有利于减少运算量,进而有助于提升渲染出的画面的流畅度。若摄像头在运动,则可以每隔预设时长获取该摄像头的第二坐标。该第二坐标即为该摄像头当前的位置坐标。其中,预设时长可根据实际情况进行设置,这里不作具体限定。

步骤s230,将所述待渲染对象关联的第一坐标更改为所述第二坐标,其中,所述待渲染对象预先关联有所述摄像头的所述第一坐标,所述待渲染对象与所述摄像头相关联。

在本实施例中,待渲染对象与摄像头相关联,且待渲染对象关联有摄像头的位置坐标。若摄像头的位置坐标发生改变,待渲染对象将从摄像头接收改变后的位置坐标并替换之前的坐标。

可理解地,待渲染对象与摄像头建立有订阅关系,各待渲染对象之间也可以建立该订阅关系。该订阅关系可理解为,当第一待渲染对象的位置坐标发生改变时,订阅了第一待渲染对象的第二待渲染对象便可接收到第一待渲染对象位置改变后的坐标。即,若摄像头的位置发生改变,订阅了该摄像头的待渲染对象可自行更改摄像头改变位置后的坐标,也就是与该摄像头关联的待渲染对象可自行更改摄像头改变位置后的坐标。基于此,可减少获取坐标的次数,有利于对待渲染对象进行渲染。

步骤s240,基于所述第二坐标,将所述三维场景模型在所述摄像头的视野范围内的区域作为待渲染区域,并对所述待渲染区域进行渲染。

可理解地,基于第二坐标及待渲染对象的坐标信息,可以得到摄像头与待渲染对象之间的距离。基于该距离,便可对三维场景模型中位于摄像头视野范围内的区域进行渲染,然后通过显示单元12显示渲染后的画面。

在本实施例中,若三维场景模型中同时存在静止的对象和运动的对象,则运动的对象可与摄像头相关联,而静止的对象可以不与摄像头相关联。因静止的对象的坐标相对于三维场景模型保持不变,在渲染过程中,可以无需重复获取对静止的对象的坐标,仅获取运动的对象的坐标,进而有利于提高对处理单元11(比如gpu)的利用率。

基于上述设计,通过订阅的方式可减少坐标获取的次数,从而有利于减少对设备运算资源的浪费,降低对设备硬件性能的要求,提高渲染画面的流畅度。

请参照图3,为本发明较佳实施例提供的三维巡航渲染方法的流程示意图之二。可选地,在步骤s210之前,三维巡航渲染方法还可以包括步骤s250及步骤s260。

步骤s250,基于所述三维场景模型构建至少一条运动路径数据以作为所述预设运动路径。

可理解地,运动路径数据可以通过在三维场景模型中设置多个连续直线运动的点,多个运动点便可以组成一条运动路径数据。

步骤s260,将所述至少一条运动路径数据存储于预先构建的数组中。

在本实施例中,可以通过数组存储运动路径数据。当需要选取运动路径时,可从数组中随机选取或指定选取运动路径数据。

基于步骤s250及步骤s260,步骤s210可以为:从所述数组中选取一条运动路径数据以作为所述控制数据,所述摄像头根据所述运动路径数据在所述三维场景模型中运动。

请参照图4,为本发明较佳实施例提供的三维巡航渲染装置100的方框示意图之一。本发明提供的三维巡航渲染装置100可以用于上述的电子设备10,用于执行如图2所示的三维巡航渲染方法的各步骤。其中,电子设备10预先存储有三维场景模型,该三维巡航渲染装置100可以包括运动控制模块110、坐标获取模块120、坐标更改模块130及渲染模块140。

运动控制模块110,用于基于控制数据控制摄像头在所述三维场景模型中运动。

作为一种可选的实施方式,所述运动控制模块110还可以用于:从所述数组中选取一条运动路径数据以作为所述控制数据,所述摄像头根据所述运动路径数据在所述三维场景模型中运动。

作为一种可选的实施方式,所述运动控制模块110还可以用于:基于预设运动速度及输入模块生成的运动方向,控制所述摄像头在所述三维场景模型中运动。

具体地,运动控制模块110可以用于执行如图2所示的步骤s210,其具体执行的操作内容可参照对步骤s210的详细描述。

坐标获取模块120,用于在所述摄像头运动过程中,每隔预设时长获取所述摄像头的第二坐标。具体地,坐标获取模块120可以用于执行如图2所示的步骤s220,其具体执行的操作内容可参照对步骤s220的详细描述。

坐标更改模块130,用于将所述待渲染对象关联的第一坐标更改为所述第二坐标,其中,所述待渲染对象预先关联有所述摄像头的所述第一坐标,所述待渲染对象与所述摄像头相关联。具体地,坐标更改模块130可以用于执行如图2所示的步骤s230,其具体执行的操作内容可参照对步骤s230的详细描述。

渲染模块140,用于基于所述第二坐标,将所述三维场景模型在所述摄像头的视野范围内的区域作为待渲染区域,并对所述待渲染区域进行渲染。具体地,渲染模块140可以用于执行如图2所示的步骤s240,其具体执行的操作内容可参照对步骤s240的详细描述。

请参照图5,为本发明较佳实施例提供的三维巡航渲染装置100的方框示意图之二。可选地,三维渲染巡航装置还可以包括路径构建模块150及数组存储模块160。

在所述运动控制模块110基于控制数据控制摄像头在所述三维场景模型中运动的步骤之前,所述路径构建模块150用于基于所述三维场景模型构建至少一条运动路径数据以作为预设运动路径。具体地,路径构建单元可以用于执行图3中所示的步骤s250,其具体操作内容可参照对步骤s250的详细描述。

所述数组存储模块160,用于将所述至少一条运动路径数据存储于预先构建的数组中。具体地,数组存储单元13可以用于执行图3中所示的步骤s260,其具体操作内容可参照对步骤s260的详细描述。

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

综上所述,本发明提供一种三维巡航渲染方法及装置。该方法通过基于控制数据控制摄像头在三维场景模型中运动;在摄像头运动过程中,每隔预设时长获取摄像头的第二坐标;将待渲染对象关联的第一坐标更改为第二坐标,其中,待渲染对象预先关联有摄像头的第一坐标,待渲染对象与摄像头相关联;基于第二坐标,将三维场景模型在摄像头的视野范围内的区域作为待渲染区域,并对待渲染区域进行渲染。本方案通过将待渲染对象与摄像头的坐标进行关联,在摄像头运动后,待渲染对象会自动关联的摄像头的位置,从而有利于对相对于摄像头运动的待渲染对象进行渲染,降低对坐标的运算量,进而有利于提高渲染的画面的流畅度。

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

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