CN110163943A - 图像的渲染方法和装置、存储介质、电子装置 - Google Patents
图像的渲染方法和装置、存储介质、电子装置 Download PDFInfo
- Publication number
- CN110163943A CN110163943A CN201811394276.7A CN201811394276A CN110163943A CN 110163943 A CN110163943 A CN 110163943A CN 201811394276 A CN201811394276 A CN 201811394276A CN 110163943 A CN110163943 A CN 110163943A
- Authority
- CN
- China
- Prior art keywords
- image
- visual angle
- target object
- rendering
- graphics processor
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000009877 rendering Methods 0.000 title claims abstract description 139
- 238000000034 method Methods 0.000 title claims abstract description 69
- 238000003860 storage Methods 0.000 title claims abstract description 40
- 230000000007 visual effect Effects 0.000 claims abstract description 193
- 230000004044 response Effects 0.000 claims abstract description 9
- 230000015654 memory Effects 0.000 claims description 28
- 230000005540 biological transmission Effects 0.000 claims description 12
- 238000012545 processing Methods 0.000 claims description 10
- 238000005520 cutting process Methods 0.000 claims description 8
- 230000008859 change Effects 0.000 claims description 6
- 238000004590 computer program Methods 0.000 claims description 4
- 238000003491 array Methods 0.000 claims description 2
- 230000032258 transport Effects 0.000 claims 1
- 238000005516 engineering process Methods 0.000 abstract description 19
- 230000008569 process Effects 0.000 description 16
- 238000010586 diagram Methods 0.000 description 12
- 238000013461 design Methods 0.000 description 8
- 239000011521 glass Substances 0.000 description 6
- 238000013499 data model Methods 0.000 description 5
- 230000000694 effects Effects 0.000 description 5
- 210000003128 head Anatomy 0.000 description 4
- 238000004088 simulation Methods 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000001360 synchronised effect Effects 0.000 description 3
- 241000549343 Myadestes Species 0.000 description 2
- 235000004522 Pentaglottis sempervirens Nutrition 0.000 description 2
- 230000003190 augmentative effect Effects 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 230000008878 coupling Effects 0.000 description 2
- 239000003814 drug Substances 0.000 description 2
- 238000004043 dyeing Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000007654 immersion Methods 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 230000013011 mating Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- 210000000056 organ Anatomy 0.000 description 2
- 238000012805 post-processing Methods 0.000 description 2
- 238000004321 preservation Methods 0.000 description 2
- 230000003997 social interaction Effects 0.000 description 2
- 238000012549 training Methods 0.000 description 2
- 239000002699 waste material Substances 0.000 description 2
- 241000208340 Araliaceae Species 0.000 description 1
- 241001269238 Data Species 0.000 description 1
- 241000406668 Loxodonta cyclotis Species 0.000 description 1
- 235000005035 Panax pseudoginseng ssp. pseudoginseng Nutrition 0.000 description 1
- 235000003140 Panax quinquefolius Nutrition 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 230000004075 alteration Effects 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 210000004556 brain Anatomy 0.000 description 1
- 238000005094 computer simulation Methods 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 238000000151 deposition Methods 0.000 description 1
- 235000013399 edible fruits Nutrition 0.000 description 1
- 230000004927 fusion Effects 0.000 description 1
- 235000008434 ginseng Nutrition 0.000 description 1
- 238000003384 imaging method Methods 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 230000008447 perception Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 241000894007 species Species 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
Landscapes
- Engineering & Computer Science (AREA)
- Computer Graphics (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Image Generation (AREA)
- Processing Or Creating Images (AREA)
Abstract
本发明公开了一种图像的渲染方法和装置、存储介质、电子装置。其中,该方法包括:获取到渲染请求,其中,渲染请求用于请求渲染得到虚拟现实场景中目标对象在多个视角中的每个视角下的第一图像;响应于渲染请求,将目标对象的对象信息提交给图形处理器,其中,对象信息用于指示三维模型和三维模型的表面纹理,三维模型为目标对象的模型,表面纹理是用于表示目标对象表面的纹理;通过图形处理器对三维模型按照对象信息指示的表面纹理进行渲染得到目标对象在多个视角中的每个视角下的第一图像。本发明解决了相关技术中图像渲染需要消耗大量硬件资源的技术问题。
Description
技术领域
本发明涉及图像处理领域,具体而言,涉及一种图像的渲染方法和装置、存储介质、电子装置。
背景技术
虚拟现实VR技术是一种可以创建和体验虚拟世界的计算机仿真***,它利用计算机生成模拟环境,是一种多源信息融合的交互式的三维动态场景和实体行为的***仿真,使用户沉浸到该环境中。
近年来VR技术得到了空前发展,而VR视频的播放、尤其是3D视频的播放技术也越来越引起人们的关注,人们之所以热衷于VR技术在于其沉浸感,而3D视频更能增加用户的真实感,因此3D视频播放技术吸引了越来越多的关注。VR技术中的3D视频播放技术不同于传统的3D视频播放,是由VR技术特有的左右双眼模式决定的。
VR应用(如基于移动终端的VR应用)一般是都是先在屏幕上渲染出有相差的左右眼画面,再配戴一个VR眼镜进行体验,由于3D视频播放过程中的渲染需要进行大量数据传输、数据进行大量的数据计算,故对硬件资源的要求较高,需要消耗大量的硬件资源。
针对上述的问题,目前尚未提出有效的解决方案。
发明内容
本发明实施例提供了一种图像的渲染方法和装置、存储介质、电子装置,以至少解决相关技术中图像渲染需要消耗大量硬件资源的技术问题。
根据本发明实施例的一个方面,提供了一种图像的渲染方法,包括:获取到渲染请求,其中,渲染请求用于请求渲染得到虚拟现实场景中目标对象在多个视角中的每个视角下的第一图像;响应于渲染请求,将目标对象的对象信息提交给图形处理器,其中,对象信息用于指示三维模型和三维模型的表面纹理,三维模型为目标对象的模型,表面纹理是用于表示目标对象表面的纹理;通过图形处理器对三维模型按照对象信息指示的表面纹理进行渲染得到目标对象在多个视角中的每个视角下的第一图像。
根据本发明实施例的另一方面,还提供了一种图像的渲染装置,包括:获取单元,用于获取到渲染请求,其中,渲染请求用于请求渲染得到虚拟现实场景中目标对象在多个视角中的每个视角下的第一图像;提交单元,用于响应于渲染请求,将目标对象的对象信息提交给图形处理器,其中,对象信息用于指示三维模型和三维模型的表面纹理,三维模型为目标对象的模型,表面纹理是用于表示目标对象表面的纹理;渲染单元,用于通过图形处理器对三维模型按照对象信息指示的表面纹理进行渲染得到目标对象在多个视角中的每个视角下的第一图像。
根据本发明实施例的另一方面,还提供了一种存储介质,该存储介质包括存储的程序,程序运行时执行上述的方法。
根据本发明实施例的另一方面,还提供了一种电子装置,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器通过计算机程序执行上述的方法。
在本发明实施例中,在获取到渲染请求时,将目标对象的对象信息提交给图形处理器,对象信息用于指示目标对象的三维模型和表面纹理,通过图形处理器利用保存的对象信息渲染得到目标对象在多个视角中的每个视角下的第一图像,图形处理器可通过该对象信息中的三维模型和贴图渲染出该目标对象在多个视角下的第一图像,而不需CPU在渲染每个视角下的第一图像时由CPU提交一次对象信息,可以解决相关技术中图像渲染需要消耗大量硬件资源的技术问题,进而达到了降低图像渲染带来的硬件资源消耗的技术效果。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据本发明实施例的图像的渲染方法的硬件环境的示意图;
图2是根据本发明实施例的一种可选的图像的渲染方法的流程图;
图3是根据本发明实施例的一种可选的图像渲染的示意图;
图4是根据本发明实施例的一种可选的图像渲染的示意图;
图5是根据本发明实施例的一种可选的直播节目图像的示意图;
图6是根据本发明实施例的一种可选的VR图像的示意图;
图7是根据本发明实施例的一种可选的VR图像的示意图;
图8是根据本发明实施例的一种可选的VR图像的示意图;
图9是根据本发明实施例的一种可选的VR图像的示意图;
图10是根据本发明实施例的一种可选的图像的渲染装置的示意图;
以及
图11是根据本发明实施例的一种终端的结构框图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、***、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
首先,在对本发明实施例进行描述的过程中出现的部分名词或者术语适用于如下解释:
虚拟现实VR:英文全称为Virtual Reality,指通过虚拟化的技术构建真实世界的场景与体验。
VR应用:实现VR体验的应用,一般指VR类App应用。
VR眼镜:是VR头显(虚拟现实头戴式显示设备)的一种,是一种可配合VR应用完成VR体验的硬件,VR头显可利用头戴式显示设备将人的对外界的视觉、听觉封闭,引导用户产生一种身在虚拟环境中的感觉,其显示原理是左右眼屏幕分别显示左右眼的图像,人眼获取这种带有差异的信息后在脑海中产生立体感,从而实现VR的沉浸式体验。
图像几何畸变,英文称为image geometric distortion,成像过程中所产生的图像像元的几何位置相对于参照***(如地面实际位置或地形图)发生的挤压、伸展、偏移和扭曲等变形,使图像的几何位置、尺寸、形状、方位等发生改变,如手机、平板、电脑等设备的屏幕上的图像在透过VR眼镜上的镜片观看时,会出现图像变形。
图像反畸变:或称图像去畸变、图像畸变矫正,即图像几何畸变的逆过程,对发生挤压、伸展、偏移和扭曲等变形的图像通过反畸变可恢复为正常显示的图像,如为了能通过VR眼镜看到正常的图像,对显示在手机、平板、电脑等设备的屏幕上的图像可预先进行一个反向畸变操作,以矫正掉VR眼镜上的镜片造成的畸变。
OpenGL(ES):英语全称为Open Graphics Library,可译为开放图形库或者“开放式图形库”,用于渲染2D、3D等矢量图形的跨语言、跨平台的应用程序编程接口(API),如在VR技术中也可使用该接口。
DirectX:可在Windows等***平台上使用的3D图形学接口,用于3D图像的渲染。
根据本发明实施例的一方面,提供了一种图像的渲染方法的方法实施例。
可选地,在本实施例中,上述图像的渲染方法可以应用于如图1所示的由终端101(终端101并不限定于PC、手机、平板电脑等)所构成的硬件环境中,由终端101通过执行本申请的图像的渲染方法来提供多视角图像,如左右眼视角下的VR图像,用户可以通过与终端101适配的VR头显103观看终端101渲染出来的VR图像。
可选地,该硬件环境还可包括用于为终端101或终端101上安装的客户端提供业务服务(如VR游戏服务、VR社交服务、内容服务等)的服务器105,如图1所示,终端101通过网络(如广域网、城域网或局域网)与服务器105进行连接,可在服务器上或独立于服务器设置数据库107,用于为服务器105提供业务数据的存储服务,终端101在执行本申请的图像的渲染方法的过程中可从服务器105获取需要服务器105提供或者需要同步的业务服务数据。例如,服务器105在为终端101提供VR社交服务的过程中,终端101可实时获取服务器105提供的社交同步数据,如玩家启动VR社交应用时的同步数据(可用来同步玩家的视野内的场景、对象等)、用户的视角发生变化时的同步数据(可用来同步新视角下出现的场景、对象等)、虚拟现实场景中当前视角下的同步数据(可用来表示某个对象的外形变化、某个对象的位置变化、用户视野内新出现的好友对象等),此时终端101可以通过执行本申请的图像的渲染方法来提供左右眼视角下的VR图像,用户通过VR头显103观看终端101渲染出来的VR图像,如看到新出现的好友。
图2是根据本发明实施例的一种可选的图像的渲染方法的流程图,如图2所示,该方法可以包括以下步骤:
步骤S202,终端获取到渲染请求,渲染请求用于请求渲染得到虚拟现实场景中目标对象在多个视角中的每个视角下的第一图像,目标对象为待渲染对象。
上述的虚拟现实场景可为医学方面的虚拟现实场景,目标对象可为在虚拟环境中建立的虚拟的人体模型,借助于跟踪球、头戴显示器HMD、感觉手套等可以很容易了解人体内部各器官结构;
虚拟现实场景还可为军事或航天方面的虚拟现实场景,目标对象可为在虚拟环境中建立的军事武器(如飞机、坦克等),可用于提供对军事人员的训练;
虚拟现实场景还可为室内设计的虚拟现实场景,目标对象可为在虚拟现实场景中建立的对房屋的结构、外形等,虚拟现实可以把这种构思变成看得见的虚拟物体和环境,使以往只能借助传统的设计模式提升到数字化的即看即所得的境界,大大提高了设计和规划的质量与效率;
虚拟现实场景还可为房产开发方面的虚拟现实场景,目标对象可为在虚拟现实场景中创建的周边配套、建筑和总平、内部业态分布等,由外而内表现项目的整体风格,并可通过鸟瞰、内部漫游、自动动画播放等形式对项目逐一表现,增强了讲解过程的完整性和趣味性;
虚拟现实场景还可为3D游戏(如虚拟现实VR游戏、增强现实AR游戏等)的游戏场景,目标对象可为在虚拟现实场景创建的游戏角色、游戏道具、游戏宠物等,VR所具有的临场参与感与交互能力可以提高用户的体验。
上述举例的虚拟现实场景和目标对象仅用于示意性说明,实际的虚拟现实场景和目标对象并不局限于上述举例,还可包括更多。
步骤S204,响应于渲染请求,终端将目标对象的对象信息(即模型数据)提交给图形处理器GPU(如终端的中央处理器CPU将对象信息提交给GPU),对象信息用于指示三维模型和三维模型的表面纹理,三维模型为目标对象的模型,表面纹理是用于表示目标对象表面的纹理。
上述的对象信息可包括三维模型和表面纹理两个部分,三维模型是在三维3D建模软件中创建的用于描述目标对象模型,可以用顶点数据表示,而表面纹理则是用贴图表示的,实际使用时,将贴图按照对应的UV坐标贴到三维模型表面,即可得到目标对象。
上述的多个视角为至少两个视角,视角的具体情况可以根据需求确定,如在游戏场景中,单人游戏时为该玩家的左右眼的两个视角;两个人游戏时为这两个玩家的四只眼的四个视角,以此类推;对于其余场景而言,与此类似,不再赘述。
步骤S206,终端通过图形处理器对三维模型按照对象信息指示的表面纹理进行渲染,得到目标对象在多个视角中的每个视角下的第一图像。图形处理器利用该次CPU提交的对象信息渲染得到目标对象在多个视角中的每个视角下的第一图像(如AR图像),而不需要每渲染一个视角下的第一图像时由CPU提交一次对象信息。
在对前述的虚拟现实场景(包括虚拟现实场景中的目标对象)进行图像采集可得到3D媒体文件,3D媒体文件在主流播放器中播放会出现重影或者重复图像的问题,即一副图像会显示左右两份,其原因是渲染左右眼画面的方案是左右眼画面分别进行渲染,如先渲染左眼画面、再渲染右眼画面,左右眼画面的渲染作为两个独立的过程进行,和传统的非VR类应用(如游戏)相比,VR类应用对同一个场景渲染了两次,左眼画面一次,右眼画面一次。申请人认识到,这种左右眼两次渲染的方案,效率偏低,消耗了普通应用两倍的资源,究其原因在于,渲染左眼画面时需要提交模型等信息给GPU,渲染右眼画面时还需将相同的模型等信息提交给GPU。
上述渲染过程中,对于硬件资源的消耗主要体现在数据传输所带来的总线资源消耗和GPU计算资源消耗,而在本申请的方案中(在步骤S204中),中央处理器CPU可仅向图形处理器GPU提交一次对象信息,对于GPU而言,可复用CPU提交的对象信息,换言之,GPU可通过该对象信息中的三维模型和贴图渲染出该目标对象在多个视角下的第一图像,而不需CPU在渲染每个视角下的第一图像时由CPU提交一次对象信息,从而降低了数据传输所带来的硬件资源消耗。从而可以解决相关技术中图像渲染需要消耗大量硬件资源的技术问题,进而达到了降低图像渲染带来的硬件资源消耗的技术效果。
上述实施例以终端101执行图像的渲染方法为例进行说明,终端101执行本发明实施例的图像的渲染方法也可以是由安装在其上的客户端来执行,可选地,本发明实施例的图像的渲染方法也可以由服务器105来执行,即直接在渲染请求的触发下由服务器执行上述步骤S202-步骤S206;还可以是由服务器105和终端101共同执行,如由客户端发送渲染请求给服务器,服务器执行接收到后进行渲染,并将渲染结果返回给终端。下面结合图2所示的步骤进一步详述本申请的技术方案。
在步骤S204提供的技术方案中,CPU将目标对象的对象信息提交给图形处理器GPU,对象信息用于指示三维模型和三维模型的表面纹理,三维模型为目标对象的模型,表面纹理是用于表示目标对象表面的纹理。
可选地,上述目标对象的对象信息可以从服务器或引擎获取,如用户在社交应用中选择相应的角色之后,终端将该角色的角色标识ID发送给服务器,服务器将该角色标识ID对应的模型、纹理信息下发给终端,或者玩家在游戏应用中选择角色后,CPU利用游戏引擎提供的应用程序接口API向游戏引擎发送携带有所选择角色的角色标识ID的请求,游戏引擎接收到请求后进行响应,提供该角色标识ID对应的模型、纹理信息。上述的多个视角可以根据用户操作确定,如对于戴着头显的用户,可以通过头显中的多轴传感器感知用户头部的角度变化,用户戴上头显后,这多个视角中的每个视角会有一个初始值,在用户向某个方向转动角度R后,对于多个视角中的每个视角的角度值,为由初始值向相同方向转动角度R后得到的角度值,若用户再次发生转动,确定每个视角的角度值的方法与上述类似。
在上述实施例中,目标对象可以为一个或多个对象,当目标对象为多个对象时,将目标对象的对象信息提交给图形处理器包括:CPU可将多个对象逐个对象地提交其对象信息和视角信息给图形处理器GPU,对于第一个对象而言,是直接渲染出对应多个视角的多个第一图像(即每个视角对应于一个第一图像),对于后续待渲染的对象而言,则是在相应视角下的第一图像中渲染出这后续的对象,GPU接收到一个对象的对象信息和视角信息,则在每个第一图像中渲染出该对象。
可选地,在上述实施例中,CPU将目标对象的对象信息提交给图形处理器包括:将目标对象的对象信息和配置信息提交给图形处理器,配置信息用于指示图形处理器在渲染多个视角的第一图像时均从缓存中读取对象信息。
随着游戏品质需求的提升,需要在场景里绘制越来越多的物体,这里面主要涉及两个方面的性能瓶颈,一是CPU对GPU提交数据的次数(包括设置数据缓存,渲染状态以及调用对渲染原语的绘制即drawcall),二是GPU上的绘制(包括顶点处理和像素绘制),随着场景物体的提升,CPU和GPU的压力都会上升。为了解决上述性能瓶颈,一种可选的“将目标对象的对象信息提交给图形处理器”是,CPU通过目标接口将目标对象的对象信息和配置信息提交给图形处理器,目标接口用于传输对象信息至缓存,缓存中保存的对象信息在图形处理器渲染多个视角的第一图像时不发生变化,目标接口用于传输可复用的对象信息,从而可以降低CPU对GPU提交数据的次数。
上述的目标接口可以为DrawMeshInstance这一接口,通过该接口可将一个模型的顶点缓冲对象VBO(即对象信息)提交一次给显卡GPU,至于不同的视角位置、状态、颜色等等,可将这些整合成一个buffer给GPU(也可视为对象信息的一部分),在显卡上区别绘制,它大大减少提交次数,这种方式对于绘制大量的相同模型的物体由于有硬件实现,所以效率最高,最为灵活,避免了内存浪费。
上述的顶点缓冲对象VBO(Vertex Buffer Objects),可为在显卡存储空间中开辟出的一块内存缓存区,用于存储顶点的各类属性信息,如顶点坐标、顶点法向量、顶点颜色数据等。在渲染时,可以直接从VBO中取出顶点的各类属性数据,由于VBO在显存而不是在内存中,不需要从CPU传输数据,处理效率更高。VBO就相当于显存中的一个缓存存储区域,可以保持大量的顶点属性信息,并且可以开辟很多个VBO(对应于多个对象),每个VBO在有它的唯一标识ID,这个ID对应着具体的VBO的显存地址,通过这个ID可以对特定的VBO内的数据进行存取操作,具体的可在配置信息中配置目标对象对应的VBO的ID,从而在需要时直接按照该ID读取对应的VBO,而无需再由CPU提交一次对象信息。
在步骤S206提供的技术方案中,通过图形处理器对三维模型按照对象信息指示的表面纹理进行渲染得到目标对象在多个视角中的每个视角下的第一图像,多个视角得到的第一图像也为多幅,每副第一对象对应一个视角,且在这多幅第一图像中拍摄的是目标对象(如游戏角色)位于虚拟现实场景中同一位置在同一时刻的图像,区别仅在于拍摄角度(即视角)不同,而不是拍摄多个不同对象(如多个游戏角色)在各自的位置的图像。
可选地,采用上述的目标接口进行信息提交后,在通过图形处理器利用保存的对象信息渲染得到目标对象在多个视角中的每个视角下的第一图像时,当渲染目标对象在多个视角中的每个视角下的第一图像时,通过图形处理器从配置信息所指示的缓存中读取对象信息,如通过前述的ID读取对应的VBO,进而可以利用读取的对象信息渲染得到每个视角下的第一图像,缓存用于保存图形处理器接收到的对象信息;并利用读取的对象信息所指示的表面纹理对三维模型进行渲染得到每个视角下的第一图像,配置信息用于指示图形处理器在渲染多个视角的第一图像时均从缓存中读取对象信息。
在通过图形处理器利用保存的对象信息渲染得到目标对象在多个视角中的每个视角下的第一图像时,一种可选的渲染方案如下:
步骤1,图形处理器在图像处理引擎中创建目标相机。
该目标相机可以为虚拟现实场景中模拟出来的相机,而不是实体的相机,区别于虚拟现实场景中模拟用户视角的相机(此相机是使用自己的参数来进行图像渲染),该目标相机可利用模拟用户视角的相机的参数进行图像渲染,而不用自身的相机参数进行图像渲染。
上述模拟用户左右眼视角的相机的参数相当于两个虚拟相机,相较于目标相机而言,这两个虚拟相机不参与渲染,而是提供渲染所需的参数,如提供模拟用户眼睛坐标的相机位置、模拟用户眼睛视角的视角参数等,目标相机在渲染的过程中,可不使用目标相机的参数,而是使用两个虚拟相机的参数,在渲染左眼VR图像时,使用模拟左眼的虚拟相机的参数,按照左眼所在位置和视角进行渲染,在渲染右眼VR图像时,使用模拟右眼的虚拟相机的参数,按照右眼所在位置和视角进行渲染,相当于仅仅通过一个相机完成了对多个VR图像的渲染。
步骤2,在GPU中控制目标相机分别按照多个视角中的每个视角对应的相机参数,对表示目标对象的三维模型按照对象信息指示的表面纹理进行图像渲染和采集,得到每个视角下目标对象的第一图像,换言之,有多少个视角那么就存在数量与视角数量相同的第一图像。
可选地,控制目标相机分别按照多个视角中的每个视角对三维模型按照对象信息指示的表面纹理进行图像渲染和采集,得到每个视角下的第一图像可包括:按照对象信息所指示三维模型和三维模型的表面纹理在虚拟现实场景渲染出目标对象,具体而言,可将用于表示表面纹理的纹理贴图按照UV坐标贴在三维模型表面,得到目标对象;控制目标相机分别按照多个视角中的每个视角对渲染出的目标对象进行图像采集,得到每个视角下的第一图像。
在GPU中控制目标相机分别按照多个视角中的每个视角对渲染出的目标对象进行图像采集,得到每个视角下的第一图像时,可按照多个视角中的每个视角分别对目标对象进行裁剪,并对裁剪后的目标对象进行图像采集,得到每个视角下的第一图像,每副第一图像是对按照多个视角中的一个视角裁剪后的目标对象进行图像采集得到的,按照该视角对目标对象进行裁剪包括裁剪掉目标对象的以该视角不能看到的部分,具体的裁剪方式可以为将目标对象投影在与该视角相切的平面上。
在一个可选的实施方式中,上述的多个视角可为两个视角,对应的,第一图像为两幅,在通过图形处理器对三维模型按照对象信息指示的表面纹理进行渲染得到目标对象在多个视角中的每个视角下的第一图像之后,对于得到的两幅第一图像的保存方式如下:
1)将两幅第一图像的图像数据缓存至两个图像缓存数组中,每个图像缓存数组用于缓存对应的一幅第一图像的图像数据;
2)将两幅第一图像的图像数据缓存至同一个图像缓存数组中。
在本申请的技术方案中,提供了一种更高效的方法,占用更少终端资源(如手机的硬件资源),性能更高、更省电。对于一个简单的场景测试,本申请优化后的方案开销(如CPU的开销)只有上述方案的一半左右,且对GPU缓存访问更友好。
作为一种可选的实施例,下面以在移动端实现VR直播为例详述本申请的实施方式。
相关技术中的移动端VR厂家或支持VR的游戏引擎(如Unity)都是使用类似技术方案,先渲染左眼,再渲染右眼,左右眼渲染完全独立,这种实现方案虽然通用、简单,好理解,但效率不高,且对移动端的资源消耗较大。
如图3所示,左眼的图像渲染需要经过裁剪Cull处理、渲染阴影部分Shadows、渲染不透明部分Opaque、渲染天空盒Skybox、中间处理Post-Opaque Image FX、透明部分渲染Transparent、优化处理Post-Transparent Image FX等流程,得到左眼图像,对于右眼图像的渲染与此类似。
对于上述VR左右眼渲染技术,就是左右眼独立渲染,先渲染左眼,渲染到左眼的图像缓存或屏幕的左半部分,再渲染右眼,渲染到右眼的图像缓存或屏幕的右半部分,如果是渲染到了图像缓存,将左右眼的图像缓存进行处理(如反畸变)后,显示在手机屏幕上。
本申请使用了一种更高效的方法,左右眼图像渲染可同时进行,将左右眼图像渲染到一个图像缓存数组(数组大小为2)或一个大的图像缓存的左半与右半部分,对应于手机屏幕的左半与右半部分,如果是渲染到图像缓存数组或大的图像缓存,同样也是进行处理(如反畸变)后,再显示到手机屏幕上。
如图4所示,左右眼图像的渲染共享一个数据模型(对象信息),而不需要分别获取一次数据模型,具体执行的流程与图3类似。对于图3中的技术方案,虽然左右眼图像的渲染比较通用,但是需要传输两次数据模型,消耗了2倍CPU资源,且GPU需要缓存两个相同的数据模型,对GPU缓存不友好,浪费了GPU的缓存资源;而在图4所示的方案中,整个过程性能高,对于不同视角下的模型渲染,只需要传输一次该对象的数据模型,对CPU资源消耗较小,同时GPU也仅需缓存一次该数据模型,GPU缓存友好。
本方案可以应用在直播类应用中,如图5所示,为用户实现了更加高效的VR体验。
一个对象(或物体)在3D引擎中的渲染过程:3D图形学为了模拟一个物体(即目标对象),对物体抽象出了一些属性,重要的有网络(通过点与线描述物体的形状)、材质(决定了物体的外观,如是红色还是蓝色等)这两个属性,为了渲染一个物体,在确定好物体还有相机的位置及属性后,首先需要先设置好待渲染物体的属性,再将网格提交给GPU进行渲染,GPU对物体及相机的位置、网格、还有物体的属性等进行计算,最后生成一幅图像,图像就是物体渲染出来的结果,从图像看可以看出物体的近远、大小、形状、外观等特性,就是人眼看到的现实世界中的物体一样。
一般的应用(如游戏等),为了描述现实的世界,会构建一个虚拟的场景,场景中有各种各样的物体,还有一个相机(模拟人的双眼),为了渲染出一个场景,就是把场景中的所有的物体按照一定顺序,一个一个提交给GPU渲染。
对于VR类的应用,为了营造出虚拟现实的感觉,需要渲染出左右两副有相差的图像,因此就有两个相机,一个模拟左眼,一个模拟右眼。左眼相机把所有的物体按照一定顺序,提交给GPU渲染一次;右眼相机把同样的所有的物体按照一定顺序,提交给GPU再渲染一次,左右眼前后两次渲染的都是同样一批一模一样的物体(物体的所有参数、属性都相同),除了相机(位置等属性,即视角)不同,最后渲染出来的两幅图像基本相同,但有相差,戴上VR眼镜观看,就有真实3D的感觉(有立体感)。
VR这这种左右眼分别渲染的方法,也带来了两倍的性能开销,场景中的每个对象,会被提交两次给GPU渲染,一次是左眼,一次是右眼。
如图6所示,左眼图像和右眼图像是分开渲染,图6示出的状态为左眼图像已经渲染完毕,即多个对象601至605均以渲染完毕,右眼图像开始渲染,仅对对象601进行了渲染;右眼也渲染完毕之后的图像如图7所示。
为了优化VR左右眼提交两次的性能开销,本申请提出了一种更优化的方法,左右眼的渲染,每个对象只需要提交一次,其技术实现原理是:在OpenGL、DirectX中,通过接口DrawMeshInstance,在场景中渲染出一个对象的多个副本,而只需要提交一次,多个副本的Mesh、材质等属性是一样的,但可以有大小、外观的上的差异。
利用这个技术特性,可以把一个对象左右眼的渲染结果看成是两个副本,每一个对象由这个接口来提交,但不同的是,这个接口渲染出来一个对象的多个副本,通常是一个相机渲染出来的,且多个副本在位置和其他属性上有所不同。但在本申请的技术方案中恰恰相反,左右眼每个对象的“两个副本”,对象位置与属性都相同,只是用来渲染的相机不同,为了处理这种差异,使用了两个虚拟的相机,这两个相机不真实渲染,只为是“两个副本”的渲染提供参数(如相机位置、视角参数等),例如在三维空间中,左右眼是相对于X轴对称的,两个虚拟相机在Y轴上的坐标值相反,那么分别代表左右眼的虚拟相机的相机位置可以用三维坐标(a,b,c)和(a,-b,c)表示,其中a、b和c为常数,每个眼睛(对应于相机)的视野范围相当于一个视锥体,视角可认为是在视锥体的中心线与某条轴(如X轴)之间的角度,然后用另一个真实的相机(即目标相机)来提交对象进行双副本的渲染,但在副本渲染的过程中,没使用真实相机的参数,而是使用两个虚拟相机的参数,一个副本使用左眼虚拟相机的参数,另一个副本使用右眼虚拟相机的参数。
如图8所示,当提交对象601的模型后,可以同时或者先后在左眼图像和右眼图像中渲染出对象601,这点不同于图6和图7中的先渲染完整一幅图像后再渲染另一幅;当提交对象602的模型后,再在左眼图像和右眼图像中渲染出对象602,以此类推,直至所有对象渲染完毕,如图7所示。
通过上面描述的这种方法,可以通过一次提交,将每个对象的“两个副本”渲染到一个图像缓存数组(数组大小为2)或一个大的图像缓存的左半与右半部分,或是手机屏幕的左半与右半部分,从而节省了每一个对象一次的向GPU提交操作。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
根据本发明实施例的另一个方面,还提供了一种用于实施上述图像的渲染方法的图像的渲染装置。图10是根据本发明实施例的一种可选的图像的渲染装置的示意图,该装置可以作为终端或者服务器的一部分,如图10所示,该装置可以包括:获取单元1001、提交单元1003以及渲染单元1005。
获取单元1001,用于获取到渲染请求,渲染请求用于请求渲染得到虚拟现实场景中目标对象在多个视角中的每个视角下的第一图像。
上述的虚拟现实场景可为医学方面的虚拟现实场景,目标对象可为在虚拟环境中建立的虚拟的人体模型,借助于跟踪球、头戴显示器HMD、感觉手套等可以很容易了解人体内部各器官结构;
虚拟现实场景还可为军事或航天方面的虚拟现实场景,目标对象可为在虚拟环境中建立的军事武器(如飞机、坦克等),可用于提供对军事人员的训练;
虚拟现实场景还可为室内设计的虚拟现实场景,目标对象可为在虚拟现实场景中建立的对房屋的结构、外形等,虚拟现实可以把这种构思变成看得见的虚拟物体和环境,使以往只能借助传统的设计模式提升到数字化的即看即所得的境界,大大提高了设计和规划的质量与效率;
虚拟现实场景还可为房产开发方面的虚拟现实场景,目标对象可为在虚拟现实场景中创建的周边配套、建筑和总平、内部业态分布等,由外而内表现项目的整体风格,并可通过鸟瞰、内部漫游、自动动画播放等形式对项目逐一表现,增强了讲解过程的完整性和趣味性;
虚拟现实场景还可为3D游戏(如虚拟现实VR游戏、增强现实AR游戏等)的游戏场景,目标对象可为在虚拟现实场景创建的游戏角色、游戏道具、游戏宠物等,VR所具有的临场参与感与交互能力可以提高用户的体验。
上述举例的虚拟现实场景和目标对象仅用于示意性说明,实际的虚拟现实场景和目标对象并不局限于上述举例,还可包括更多。
提交单元1003,用于响应于渲染请求,将目标对象的对象信息提交给图形处理器,其中,对象信息用于指示三维模型和三维模型的表面纹理,三维模型为目标对象的模型,表面纹理是用于表示目标对象表面的纹理。
上述的对象信息可包括三维模型和表面纹理两个部分,三维模型是在三维3D建模软件中创建的用于描述目标对象模型,可以用顶点数据表示,而表面纹理则是用贴图表示的,实际使用时,将贴图按照对应的UV坐标贴到三维模型表面,即可得到目标对象。
上述的多个视角为至少两个视角,视角的具体情况可以根据需求确定,如在游戏场景中,单人游戏时为该玩家的左右眼的两个视角;两个人游戏时为这两个玩家的四只眼的四个视角,以此类推;对于其余场景而言,与此类似,不再赘述。
渲染单元1005,用于通过图形处理器对三维模型按照对象信息指示的表面纹理进行渲染得到目标对象在多个视角中的每个视角下的第一图像。
在对前述的虚拟现实场景(包括虚拟现实场景中的目标对象)进行图像采集可得到3D媒体文件,3D媒体文件在主流播放器中播放会出现重影或者重复图像的问题,即一副图像会显示左右两份,其原因是渲染左右眼画面的方案是左右眼画面分别进行渲染,如先渲染左眼画面、再渲染右眼画面,左右眼画面的渲染作为两个独立的过程进行,和传统的非VR类应用(如游戏)相比,VR类应用对同一个场景渲染了两次,左眼画面一次,右眼画面一次。申请人认识到,这种左右眼两次渲染的方案,效率偏低,消耗了普通应用两倍的资源,究其原因在于,渲染左眼画面时需要提交模型等信息给GPU,渲染右眼画面时还需将相同的模型等信息提交给GPU。
上述渲染过程中,对于硬件资源的消耗主要体现在数据传输所带来的总线资源消耗和GPU计算资源消耗,而在本申请的方案中(在步骤S204中),中央处理器CPU可仅向图形处理器GPU提交一次对象信息,对于GPU而言,可复用CPU提交的对象信息,换言之,GPU可通过该对象信息中的三维模型和贴图渲染出该目标对象在多个视角下的第一图像,而不需CPU在渲染每个视角下的第一图像时由CPU提交一次对象信息,从而降低了数据传输所带来的硬件资源消耗。从而可以解决相关技术中图像渲染需要消耗大量硬件资源的技术问题,进而达到了降低图像渲染带来的硬件资源消耗的技术效果。
需要说明的是,该实施例中的获取单元1001可以用于执行本申请实施例中的步骤S202,该实施例中的提交单元1003可以用于执行本申请实施例中的步骤S204,该实施例中的渲染单元1005可以用于执行本申请实施例中的步骤S206。
此处需要说明的是,上述模块与对应的步骤所实现的示例和应用场景相同,但不限于上述实施例所公开的内容。需要说明的是,上述模块作为装置的一部分可以运行在如图1所示的硬件环境中,可以通过软件实现,也可以通过硬件实现。
上述的渲染单元还可用于:当渲染目标对象在多个视角中的每个视角下的第一图像时,通过图形处理器从配置信息所指示的缓存中读取对象信息,并利用读取的对象信息所指示的表面纹理对三维模型进行渲染得到每个视角下的第一图像,其中,配置信息用于指示图形处理器在渲染多个视角的第一图像时均从缓存中读取对象信息。
上述的提交单元还可用于:将目标对象的对象信息和配置信息提交给图形处理器,其中,配置信息用于指示图形处理器在渲染多个视角的第一图像时均从缓存中读取对象信息。
可选地,提交单元还可用于:通过目标接口将目标对象的对象信息和配置信息提交给图形处理器,其中,目标接口用于传输对象信息至缓存,缓存中保存的对象信息在图形处理器渲染多个视角的第一图像时不发生变化。
可选地,渲染单元可包括:创建模块,用于通过图形处理器在图像处理引擎中创建目标相机;控制模块,用于控制目标相机分别按照多个视角中的每个视角对三维模型按照对象信息指示的表面纹理进行图像渲染和采集,得到每个视角下的第一图像。
上述的控制模块可包括:渲染子模块,用于按照对象信息所指示三维模型和三维模型的表面纹理在虚拟现实场景渲染出目标对象;控制子模块,用于控制目标相机分别按照多个视角中的每个视角对渲染出的目标对象进行图像采集,得到每个视角下的第一图像。
上述的控制子模块还可用于:按照多个视角中的每个视角分别对目标对象进行裁剪,并对裁剪后的目标对象进行图像采集,得到每个视角下的第一图像,其中,每副第一图像是对按照多个视角中的一个视角裁剪后的目标对象进行图像采集得到的,按照多个视角中的一个视角对目标对象进行裁剪包括裁剪掉目标对象的以一个视角不能看到的部分。
可选地,目标对象可包括多个对象,其中,提交单元还可用于将多个对象中的每个对象的对象信息提交给图形处理器。
可选地,多个视角包括两个视角,第一图像为两幅,渲染单元还可包括:第一缓存模块,用于在通过图形处理器对三维模型按照对象信息指示的表面纹理进行渲染得到目标对象在多个视角中的每个视角下的第一图像之后,将两幅第一图像的图像数据缓存至两个图像缓存数组中,其中,每个图像缓存数组用于缓存对应的一幅第一图像的图像数据;第二缓存模块,用于在通过图形处理器对三维模型按照对象信息指示的表面纹理进行渲染得到目标对象在多个视角中的每个视角下的第一图像之后,将两幅第一图像的图像数据缓存至同一个图像缓存数组中。
此处需要说明的是,上述模块与对应的步骤所实现的示例和应用场景相同,但不限于上述实施例所公开的内容。需要说明的是,上述模块作为装置的一部分可以运行在如图1所示的硬件环境中,可以通过软件实现,也可以通过硬件实现,其中,硬件环境包括网络环境。
根据本发明实施例的另一个方面,还提供了一种用于实施上述图像的渲染方法的服务器或终端。
图11是根据本发明实施例的一种终端的结构框图,如图11所示,该终端可以包括:一个或多个(图中仅示出一个)处理器1101、存储器1103、以及传输装置1105(如上述实施例中的发送装置),如图11所示,该终端还可以包括输入输出设备1107。
其中,存储器1103可用于存储软件程序以及模块,如本发明实施例中的图像的渲染方法和装置对应的程序指令/模块,处理器1101通过运行存储在存储器1103内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的图像的渲染方法。存储器1103可包括高速随机存储器,还可以包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器1103可进一步包括相对于处理器1101远程设置的存储器,这些远程存储器可以通过网络连接至终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
上述的传输装置1105用于经由一个网络接收或者发送数据,还可以用于处理器与存储器之间的数据传输。上述的网络具体实例可包括有线网络及无线网络。在一个实例中,传输装置1105包括一个网络适配器(Network Interface Controller,NIC),其可通过网线与其他网络设备与路由器相连从而可与互联网或局域网进行通讯。在一个实例中,传输装置1105为射频(Radio Frequency,RF)模块,其用于通过无线方式与互联网进行通讯。
其中,具体地,存储器1103用于存储应用程序。
处理器1101可以通过传输装置1105调用存储器1103存储的应用程序,以执行下述步骤:
获取到渲染请求,其中,渲染请求用于请求渲染得到虚拟现实场景中目标对象在多个视角中的每个视角下的第一图像;
响应于渲染请求,将目标对象的对象信息提交给图形处理器,其中,对象信息用于指示三维模型和三维模型的表面纹理,三维模型为目标对象的模型,表面纹理是用于表示目标对象表面的纹理;
通过图形处理器对三维模型按照对象信息指示的表面纹理进行渲染得到目标对象在多个视角中的每个视角下的第一图像。
处理器1101还用于执行下述步骤:
按照对象信息所指示三维模型和三维模型的表面纹理在虚拟现实场景渲染出目标对象;
控制目标相机分别按照多个视角中的每个视角对渲染出的目标对象进行图像采集,得到每个视角下的第一图像。
采用本发明实施例,在获取到渲染请求时,将目标对象的对象信息提交给图形处理器,对象信息用于指示目标对象的三维模型和三维模型的表面纹理,通过图形处理器利用保存的对象信息渲染得到目标对象在多个视角中的每个视角下的第一图像,图形处理器可通过该对象信息中的三维模型和贴图渲染出该目标对象在多个视角下的第一图像,而不需CPU在渲染每个视角下的第一图像时由CPU提交一次对象信息,可以解决相关技术中图像渲染需要消耗大量硬件资源的技术问题,进而达到了降低图像渲染带来的硬件资源消耗的技术效果。
可选地,本实施例中的具体示例可以参考上述实施例中所描述的示例,本实施例在此不再赘述。
本领域普通技术人员可以理解,图11所示的结构仅为示意,终端可以是智能手机(如Android手机、iOS手机等)、平板电脑、掌上电脑以及移动互联网设备(Mobile InternetDevices,MID)、PAD等终端设备。图11其并不对上述电子装置的结构造成限定。例如,终端还可包括比图11中所示更多或者更少的组件(如网络接口、显示装置等),或者具有与图11所示不同的配置。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令终端设备相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:闪存盘、只读存储器(Read-Only Memory,ROM)、随机存取器(RandomAccess Memory,RAM)、磁盘或光盘等。
本发明的实施例还提供了一种存储介质。可选地,在本实施例中,上述存储介质可以用于执行图像的渲染方法的程序代码。
可选地,在本实施例中,上述存储介质可以位于上述实施例所示的网络中的多个网络设备中的至少一个网络设备上。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:
获取到渲染请求,其中,渲染请求用于请求渲染得到虚拟现实场景中目标对象在多个视角中的每个视角下的第一图像;
响应于渲染请求,将目标对象的对象信息提交给图形处理器,其中,对象信息用于指示三维模型和三维模型的表面纹理,三维模型为目标对象的模型,表面纹理是用于表示目标对象表面的纹理;
通过图形处理器对三维模型按照对象信息指示的表面纹理进行渲染得到目标对象在多个视角中的每个视角下的第一图像。
可选地,存储介质还被设置为存储用于执行以下步骤的程序代码:
按照对象信息所指示三维模型和三维模型的表面纹理在虚拟现实场景渲染出目标对象;
控制目标相机分别按照多个视角中的每个视角对渲染出的目标对象进行图像采集,得到每个视角下的第一图像。
可选地,本实施例中的具体示例可以参考上述实施例中所描述的示例,本实施例在此不再赘述。
可选地,在本实施例中,上述存储介质可以包括但不限于:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
上述实施例中的集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在上述计算机可读取的存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在存储介质中,包括若干指令用以使得一台或多台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的客户端,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (15)
1.一种图像的渲染方法,其特征在于,包括:
获取到渲染请求,其中,所述渲染请求用于请求渲染得到虚拟现实场景中目标对象在多个视角中的每个视角下的第一图像;
响应于所述渲染请求,将所述目标对象的对象信息提交给图形处理器,其中,所述对象信息用于指示三维模型和所述三维模型的表面纹理,所述三维模型为所述目标对象的模型,所述表面纹理是用于表示所述目标对象表面的纹理;
通过所述图形处理器对所述三维模型按照所述对象信息指示的表面纹理进行渲染得到所述目标对象在所述多个视角中的每个视角下的所述第一图像。
2.根据权利要求1所述的方法,其特征在于,通过所述图形处理器对所述三维模型按照所述对象信息指示的表面纹理进行渲染得到所述目标对象在所述多个视角中的每个视角下的所述第一图像包括:
当渲染所述目标对象在所述多个视角中的每个所述视角下的所述第一图像时,通过所述图形处理器从配置信息所指示的缓存中读取所述对象信息,并利用读取的所述对象信息所指示的表面纹理对所述三维模型进行渲染得到每个所述视角下的所述第一图像,其中,所述配置信息用于指示所述图形处理器在渲染所述多个视角的所述第一图像时均从所述缓存中读取所述对象信息。
3.根据权利要求1或2所述的方法,其特征在于,将所述目标对象的对象信息提交给图形处理器包括:
将所述目标对象的对象信息和配置信息提交给所述图形处理器,其中,所述配置信息用于指示所述图形处理器在渲染所述多个视角的所述第一图像时均从缓存中读取所述对象信息。
4.根据权利要求3所述的方法,其特征在于,将所述目标对象的对象信息和配置信息提交给所述图形处理器包括:
通过目标接口将所述目标对象的对象信息和所述配置信息提交给所述图形处理器,其中,所述目标接口用于传输所述对象信息至缓存,所述缓存中保存的所述对象信息在所述图形处理器渲染所述多个视角的所述第一图像时不发生变化。
5.根据权利要求1或2所述的方法,其特征在于,通过所述图形处理器对所述三维模型按照所述对象信息指示的表面纹理进行渲染得到所述目标对象在所述多个视角中的每个视角下的所述第一图像包括:
通过所述图形处理器在图像处理引擎中创建目标相机;
控制所述目标相机分别按照所述多个视角中的每个所述视角对所述三维模型按照所述对象信息指示的表面纹理进行图像渲染和采集,得到每个所述视角下的所述第一图像。
6.根据权利要求5所述的方法,其特征在于,控制所述目标相机分别按照所述多个视角中的每个所述视角对所述三维模型按照所述对象信息指示的表面纹理进行图像渲染和采集,得到每个所述视角下的所述第一图像包括:
按照所述对象信息所指示所述三维模型和所述三维模型的表面纹理在所述虚拟现实场景渲染出所述目标对象;
控制所述目标相机分别按照所述多个视角中的每个所述视角对渲染出的所述目标对象进行图像采集,得到每个所述视角下的所述第一图像。
7.根据权利要求6所述的方法,其特征在于,控制所述目标相机分别按照所述多个视角中的每个所述视角对渲染出的所述目标对象进行图像采集,得到每个所述视角下的所述第一图像包括:
按照所述多个视角中的每个所述视角分别对所述目标对象进行裁剪,并对裁剪后的所述目标对象进行图像采集,得到每个所述视角下的所述第一图像,其中,每副所述第一图像是对按照所述多个视角中的一个所述视角裁剪后的所述目标对象进行图像采集得到的,按照所述多个视角中的一个所述视角对所述目标对象进行裁剪包括裁剪掉所述目标对象的以一个所述视角不能看到的部分。
8.根据权利要求1所述的方法,其特征在于,所述目标对象包括多个对象,其中,将所述目标对象的对象信息提交给图形处理器包括:
将所述多个对象中的每个对象的对象信息提交给所述图形处理器。
9.根据权利要求1所述的方法,其特征在于,所述多个视角包括两个视角,所述第一图像为两幅,在通过所述图形处理器对所述三维模型按照所述对象信息指示的表面纹理进行渲染得到所述目标对象在所述多个视角中的每个视角下的所述第一图像之后,所述方法还包括:
将两幅所述第一图像的图像数据缓存至两个图像缓存数组中,其中,每个所述图像缓存数组用于缓存对应的一幅所述第一图像的图像数据;或,
将两幅所述第一图像的图像数据缓存至同一个所述图像缓存数组中。
10.一种图像的渲染装置,其特征在于,包括:
获取单元,用于获取到渲染请求,其中,所述渲染请求用于请求渲染得到虚拟现实场景中目标对象在多个视角中的每个视角下的第一图像;
提交单元,用于响应于所述渲染请求,将所述目标对象的对象信息提交给图形处理器,其中,所述对象信息用于指示三维模型和所述三维模型的表面纹理,所述三维模型为所述目标对象的模型,所述表面纹理是用于表示所述目标对象表面的纹理;
渲染单元,用于通过所述图形处理器对所述三维模型按照所述对象信息指示的表面纹理进行渲染得到所述目标对象在所述多个视角中的每个视角下的所述第一图像。
11.根据权利要求10所述的装置,其特征在于,所述渲染单元还用于:
当渲染所述目标对象在所述多个视角中的每个所述视角下的所述第一图像时,通过所述图形处理器从配置信息所指示的缓存中读取所述对象信息,并利用读取的所述对象信息所指示的表面纹理对所述三维模型进行渲染得到每个所述视角下的所述第一图像,其中,所述配置信息用于指示所述图形处理器在渲染所述多个视角的所述第一图像时均从所述缓存中读取所述对象信息。
12.根据权利要求10或11所述的装置,其特征在于,所述提交单元还用于:
将所述目标对象的对象信息和配置信息提交给所述图形处理器,其中,所述配置信息用于指示所述图形处理器在渲染所述多个视角的所述第一图像时均从缓存中读取所述对象信息。
13.根据权利要求12所述的装置,其特征在于,所述提交单元还用于:
通过目标接口将所述目标对象的对象信息和所述配置信息提交给所述图形处理器,其中,所述目标接口用于传输所述对象信息至缓存,所述缓存中保存的所述对象信息在所述图形处理器渲染所述多个视角的所述第一图像时不发生变化。
14.一种存储介质,其特征在于,所述存储介质包括存储的程序,其中,所述程序运行时执行上述权利要求1至9任一项中所述的方法。
15.一种电子装置,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器通过所述计算机程序执行上述权利要求1至9任一项中所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811394276.7A CN110163943A (zh) | 2018-11-21 | 2018-11-21 | 图像的渲染方法和装置、存储介质、电子装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811394276.7A CN110163943A (zh) | 2018-11-21 | 2018-11-21 | 图像的渲染方法和装置、存储介质、电子装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110163943A true CN110163943A (zh) | 2019-08-23 |
Family
ID=67645200
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811394276.7A Pending CN110163943A (zh) | 2018-11-21 | 2018-11-21 | 图像的渲染方法和装置、存储介质、电子装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110163943A (zh) |
Cited By (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110517345A (zh) * | 2019-08-28 | 2019-11-29 | 网易(杭州)网络有限公司 | 一种三维模型渲染的方法及装置 |
CN110689626A (zh) * | 2019-09-25 | 2020-01-14 | 网易(杭州)网络有限公司 | 游戏模型渲染方法和装置 |
CN110975287A (zh) * | 2019-12-06 | 2020-04-10 | 珠海金山网络游戏科技有限公司 | 一种基于Unity3D的组件优化方法及装置 |
CN111179402A (zh) * | 2020-01-02 | 2020-05-19 | 竞技世界(北京)网络技术有限公司 | 一种目标对象的渲染方法、装置及*** |
CN111275803A (zh) * | 2020-02-25 | 2020-06-12 | 北京百度网讯科技有限公司 | 3d模型渲染方法、装置、设备和存储介质 |
CN111381967A (zh) * | 2020-03-09 | 2020-07-07 | 中国联合网络通信集团有限公司 | 虚拟对象的处理方法及装置 |
CN111569418A (zh) * | 2020-06-10 | 2020-08-25 | 网易(杭州)网络有限公司 | 对于待输出内容的渲染方法、装置、介质及电子设备 |
CN112150602A (zh) * | 2020-09-24 | 2020-12-29 | 苏州幻塔网络科技有限公司 | 模型图像的渲染方法和装置、存储介质和电子设备 |
CN112153401A (zh) * | 2020-09-22 | 2020-12-29 | 咪咕视讯科技有限公司 | 视频处理方法、通信设备及可读存储介质 |
CN112652025A (zh) * | 2020-12-18 | 2021-04-13 | 完美世界(北京)软件科技发展有限公司 | 图像渲染方法、装置、计算机设备及可读存储介质 |
CN112684883A (zh) * | 2020-12-18 | 2021-04-20 | 上海影创信息科技有限公司 | 多用户对象区分处理的方法和*** |
CN112926614A (zh) * | 2019-12-06 | 2021-06-08 | 顺丰科技有限公司 | 箱体标注图像扩充方法、装置及计算机可读存储介质 |
CN113096254A (zh) * | 2021-04-23 | 2021-07-09 | 北京百度网讯科技有限公司 | 目标物渲染方法及装置、计算机设备和介质 |
CN113436344A (zh) * | 2021-06-25 | 2021-09-24 | 广联达科技股份有限公司 | 一种引用视图的显示方法、***及图像显示设备 |
CN113516742A (zh) * | 2021-05-14 | 2021-10-19 | 网易(杭州)网络有限公司 | 模型特效制作方法、装置、存储介质及电子设备 |
CN114615487A (zh) * | 2022-02-22 | 2022-06-10 | 聚好看科技股份有限公司 | 一种三维模型的显示方法及设备 |
WO2022135050A1 (zh) * | 2020-12-21 | 2022-06-30 | 华为云计算技术有限公司 | 渲染方法、设备以及*** |
CN115883814A (zh) * | 2023-02-23 | 2023-03-31 | 阿里巴巴(中国)有限公司 | 实时视频流的播放方法、装置及设备 |
CN115937392A (zh) * | 2022-12-12 | 2023-04-07 | 北京数原数字化城市研究中心 | 一种三维模型的渲染方法和装置 |
CN116188698A (zh) * | 2023-04-23 | 2023-05-30 | 阿里巴巴达摩院(杭州)科技有限公司 | 对象的处理方法和电子设备 |
CN116543105A (zh) * | 2023-05-04 | 2023-08-04 | 阿里巴巴达摩院(杭州)科技有限公司 | 三维物体的处理方法、***、电子设备及存储介质 |
WO2024031977A1 (zh) * | 2022-08-11 | 2024-02-15 | 华为云计算技术有限公司 | 一种图像渲染方法、装置及设备 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6803912B1 (en) * | 2001-08-02 | 2004-10-12 | Mark Resources, Llc | Real time three-dimensional multiple display imaging system |
CN106375748A (zh) * | 2016-09-07 | 2017-02-01 | 深圳超多维科技有限公司 | 立体虚拟现实全景视图拼接方法、装置及电子设备 |
US20170186243A1 (en) * | 2015-12-28 | 2017-06-29 | Le Holdings (Beijing) Co., Ltd. | Video Image Processing Method and Electronic Device Based on the Virtual Reality |
CN107516335A (zh) * | 2017-08-14 | 2017-12-26 | 歌尔股份有限公司 | 虚拟现实的图形渲染方法和装置 |
US20180096453A1 (en) * | 2016-10-05 | 2018-04-05 | Hidden Path Entertainment, Inc. | System and method of capturing and rendering a stereoscopic panorama using a depth buffer |
CN108282648A (zh) * | 2018-02-05 | 2018-07-13 | 北京搜狐新媒体信息技术有限公司 | 一种vr渲染方法、装置、穿戴式设备及可读存储介质 |
CN108564646A (zh) * | 2018-03-28 | 2018-09-21 | 腾讯科技(深圳)有限公司 | 对象的渲染方法和装置、存储介质、电子装置 |
CN108648257A (zh) * | 2018-04-09 | 2018-10-12 | 腾讯科技(深圳)有限公司 | 全景画面的获取方法、装置、存储介质及电子装置 |
-
2018
- 2018-11-21 CN CN201811394276.7A patent/CN110163943A/zh active Pending
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6803912B1 (en) * | 2001-08-02 | 2004-10-12 | Mark Resources, Llc | Real time three-dimensional multiple display imaging system |
US20170186243A1 (en) * | 2015-12-28 | 2017-06-29 | Le Holdings (Beijing) Co., Ltd. | Video Image Processing Method and Electronic Device Based on the Virtual Reality |
CN106375748A (zh) * | 2016-09-07 | 2017-02-01 | 深圳超多维科技有限公司 | 立体虚拟现实全景视图拼接方法、装置及电子设备 |
US20180096453A1 (en) * | 2016-10-05 | 2018-04-05 | Hidden Path Entertainment, Inc. | System and method of capturing and rendering a stereoscopic panorama using a depth buffer |
CN107516335A (zh) * | 2017-08-14 | 2017-12-26 | 歌尔股份有限公司 | 虚拟现实的图形渲染方法和装置 |
CN108282648A (zh) * | 2018-02-05 | 2018-07-13 | 北京搜狐新媒体信息技术有限公司 | 一种vr渲染方法、装置、穿戴式设备及可读存储介质 |
CN108564646A (zh) * | 2018-03-28 | 2018-09-21 | 腾讯科技(深圳)有限公司 | 对象的渲染方法和装置、存储介质、电子装置 |
CN108648257A (zh) * | 2018-04-09 | 2018-10-12 | 腾讯科技(深圳)有限公司 | 全景画面的获取方法、装置、存储介质及电子装置 |
Cited By (29)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110517345A (zh) * | 2019-08-28 | 2019-11-29 | 网易(杭州)网络有限公司 | 一种三维模型渲染的方法及装置 |
CN110689626A (zh) * | 2019-09-25 | 2020-01-14 | 网易(杭州)网络有限公司 | 游戏模型渲染方法和装置 |
CN112926614A (zh) * | 2019-12-06 | 2021-06-08 | 顺丰科技有限公司 | 箱体标注图像扩充方法、装置及计算机可读存储介质 |
CN110975287A (zh) * | 2019-12-06 | 2020-04-10 | 珠海金山网络游戏科技有限公司 | 一种基于Unity3D的组件优化方法及装置 |
CN111179402A (zh) * | 2020-01-02 | 2020-05-19 | 竞技世界(北京)网络技术有限公司 | 一种目标对象的渲染方法、装置及*** |
CN111179402B (zh) * | 2020-01-02 | 2023-07-14 | 竞技世界(北京)网络技术有限公司 | 一种目标对象的渲染方法、装置及*** |
CN111275803A (zh) * | 2020-02-25 | 2020-06-12 | 北京百度网讯科技有限公司 | 3d模型渲染方法、装置、设备和存储介质 |
CN111275803B (zh) * | 2020-02-25 | 2023-06-02 | 北京百度网讯科技有限公司 | 3d模型渲染方法、装置、设备和存储介质 |
CN111381967A (zh) * | 2020-03-09 | 2020-07-07 | 中国联合网络通信集团有限公司 | 虚拟对象的处理方法及装置 |
CN111569418A (zh) * | 2020-06-10 | 2020-08-25 | 网易(杭州)网络有限公司 | 对于待输出内容的渲染方法、装置、介质及电子设备 |
CN111569418B (zh) * | 2020-06-10 | 2023-04-07 | 网易(杭州)网络有限公司 | 对于待输出内容的渲染方法、装置、介质及电子设备 |
CN112153401A (zh) * | 2020-09-22 | 2020-12-29 | 咪咕视讯科技有限公司 | 视频处理方法、通信设备及可读存储介质 |
CN112153401B (zh) * | 2020-09-22 | 2022-09-06 | 咪咕视讯科技有限公司 | 视频处理方法、通信设备及可读存储介质 |
CN112150602A (zh) * | 2020-09-24 | 2020-12-29 | 苏州幻塔网络科技有限公司 | 模型图像的渲染方法和装置、存储介质和电子设备 |
CN112684883A (zh) * | 2020-12-18 | 2021-04-20 | 上海影创信息科技有限公司 | 多用户对象区分处理的方法和*** |
CN112652025A (zh) * | 2020-12-18 | 2021-04-13 | 完美世界(北京)软件科技发展有限公司 | 图像渲染方法、装置、计算机设备及可读存储介质 |
WO2022135050A1 (zh) * | 2020-12-21 | 2022-06-30 | 华为云计算技术有限公司 | 渲染方法、设备以及*** |
CN113096254A (zh) * | 2021-04-23 | 2021-07-09 | 北京百度网讯科技有限公司 | 目标物渲染方法及装置、计算机设备和介质 |
CN113096254B (zh) * | 2021-04-23 | 2023-09-22 | 北京百度网讯科技有限公司 | 目标物渲染方法及装置、计算机设备和介质 |
CN113516742A (zh) * | 2021-05-14 | 2021-10-19 | 网易(杭州)网络有限公司 | 模型特效制作方法、装置、存储介质及电子设备 |
CN113436344A (zh) * | 2021-06-25 | 2021-09-24 | 广联达科技股份有限公司 | 一种引用视图的显示方法、***及图像显示设备 |
CN114615487B (zh) * | 2022-02-22 | 2023-04-25 | 聚好看科技股份有限公司 | 一种三维模型的显示方法及设备 |
CN114615487A (zh) * | 2022-02-22 | 2022-06-10 | 聚好看科技股份有限公司 | 一种三维模型的显示方法及设备 |
WO2024031977A1 (zh) * | 2022-08-11 | 2024-02-15 | 华为云计算技术有限公司 | 一种图像渲染方法、装置及设备 |
CN115937392A (zh) * | 2022-12-12 | 2023-04-07 | 北京数原数字化城市研究中心 | 一种三维模型的渲染方法和装置 |
CN115883814A (zh) * | 2023-02-23 | 2023-03-31 | 阿里巴巴(中国)有限公司 | 实时视频流的播放方法、装置及设备 |
CN116188698A (zh) * | 2023-04-23 | 2023-05-30 | 阿里巴巴达摩院(杭州)科技有限公司 | 对象的处理方法和电子设备 |
CN116188698B (zh) * | 2023-04-23 | 2023-09-12 | 阿里巴巴达摩院(杭州)科技有限公司 | 对象的处理方法和电子设备 |
CN116543105A (zh) * | 2023-05-04 | 2023-08-04 | 阿里巴巴达摩院(杭州)科技有限公司 | 三维物体的处理方法、***、电子设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110163943A (zh) | 图像的渲染方法和装置、存储介质、电子装置 | |
US11538229B2 (en) | Image processing method and apparatus, electronic device, and computer-readable storage medium | |
CN108282648B (zh) | 一种vr渲染方法、装置、穿戴式设备及可读存储介质 | |
CN110178370A (zh) | 使用用于立体渲染的光线步进和虚拟视图广播器进行这种渲染 | |
CN108648257B (zh) | 全景画面的获取方法、装置、存储介质及电子装置 | |
CN113313818B (zh) | 一种三维重建方法、装置及*** | |
CN108564646A (zh) | 对象的渲染方法和装置、存储介质、电子装置 | |
CN116109798B (zh) | 图像数据处理方法、装置、设备及介质 | |
CN110090440B (zh) | 虚拟对象显示方法、装置、电子设备及存储介质 | |
CN109685909A (zh) | 图像的显示方法、装置、存储介质和电子装置 | |
CN109598796A (zh) | 将真实场景与虚拟物体进行3d融合显示的方法和装置 | |
CN109510975B (zh) | 一种视频图像的提取方法、设备及*** | |
CN106730815A (zh) | 一种易实现的体感互动方法及*** | |
CN109087369A (zh) | 虚拟对象显示方法、装置、电子装置及存储介质 | |
CN110648274B (zh) | 鱼眼图像的生成方法及装置 | |
CN107038745A (zh) | 一种3d旅游景观漫游交互方法及装置 | |
CN110275968A (zh) | 图像数据处理方法和装置 | |
CN101477702B (zh) | 计算机显卡的植入式真三维立体驱动方法 | |
CN109696953A (zh) | 虚拟现实文字显示的方法、装置和虚拟现实设备 | |
GB2546720A (en) | Method of and apparatus for graphics processing | |
CN107609946A (zh) | 一种显示控制方法及计算设备 | |
US20190180504A1 (en) | Stereoscopic Rendering of Virtual 3D Objects | |
CN106648067A (zh) | 一种全景视频信息交互方法及*** | |
CN108986228B (zh) | 用于虚拟现实中界面显示的方法及装置 | |
CN110431601A (zh) | 信息处理装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |