CN113648652A - 对象渲染方法和装置、存储介质及电子设备 - Google Patents
对象渲染方法和装置、存储介质及电子设备 Download PDFInfo
- Publication number
- CN113648652A CN113648652A CN202110963740.5A CN202110963740A CN113648652A CN 113648652 A CN113648652 A CN 113648652A CN 202110963740 A CN202110963740 A CN 202110963740A CN 113648652 A CN113648652 A CN 113648652A
- Authority
- CN
- China
- Prior art keywords
- light source
- illumination
- target
- rendering
- current
- 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.)
- Granted
Links
- 238000009877 rendering Methods 0.000 title claims abstract description 142
- 238000000034 method Methods 0.000 title claims abstract description 80
- 238000003860 storage Methods 0.000 title claims abstract description 16
- 238000005286 illumination Methods 0.000 claims abstract description 204
- 238000004364 calculation method Methods 0.000 claims description 29
- 239000011159 matrix material Substances 0.000 claims description 22
- 230000009466 transformation Effects 0.000 claims description 22
- 230000015654 memory Effects 0.000 claims description 20
- 238000004040 coloring Methods 0.000 claims description 16
- 238000004590 computer program Methods 0.000 claims description 13
- 230000001678 irradiating effect Effects 0.000 claims description 10
- 238000006243 chemical reaction Methods 0.000 claims description 5
- 238000012549 training Methods 0.000 claims description 3
- 238000005516 engineering process Methods 0.000 abstract description 5
- 230000000694 effects Effects 0.000 description 19
- 238000010586 diagram Methods 0.000 description 15
- 238000004422 calculation algorithm Methods 0.000 description 11
- 230000008569 process Effects 0.000 description 11
- 238000012545 processing Methods 0.000 description 9
- 230000003993 interaction Effects 0.000 description 7
- 230000006870 function Effects 0.000 description 5
- 238000004891 communication Methods 0.000 description 4
- 238000010276 construction Methods 0.000 description 4
- 238000009826 distribution Methods 0.000 description 4
- 238000005315 distribution function Methods 0.000 description 4
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000013507 mapping Methods 0.000 description 3
- 239000000463 material Substances 0.000 description 3
- 101100491335 Caenorhabditis elegans mat-2 gene Proteins 0.000 description 2
- 102100040428 Chitobiosyldiphosphodolichol beta-mannosyltransferase Human genes 0.000 description 2
- 101000891557 Homo sapiens Chitobiosyldiphosphodolichol beta-mannosyltransferase Proteins 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000005034 decoration Methods 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 206010070834 Sensitisation Diseases 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 239000003086 colorant Substances 0.000 description 1
- 238000013079 data visualisation Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 239000012634 fragment Substances 0.000 description 1
- 238000005304 joining Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000010606 normalization Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
- 239000003973 paint Substances 0.000 description 1
- 238000002310 reflectometry Methods 0.000 description 1
- 230000008313 sensitization Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/50—Controlling the output signals based on the game progress
- A63F13/52—Controlling the output signals based on the game progress involving aspects of the displayed game scene
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/10—Geometric effects
- G06T15/20—Perspective computation
- G06T15/205—Image-based rendering
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/50—Lighting effects
- G06T15/506—Illumination models
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F2300/00—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
- A63F2300/60—Methods for processing data by generating or executing the game program
- A63F2300/66—Methods for processing data by generating or executing the game program for rendering three dimensional images
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computer Graphics (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Computing Systems (AREA)
- Geometry (AREA)
- Image Generation (AREA)
Abstract
本发明公开了一种对象渲染方法和装置、存储介质及电子设备。其中,该方法包括:在配置有面光源的虚拟场景中,确定出当前待渲染的目标虚拟对象;获取目标虚拟对象上的感光位置与面光源之间的光照距离;在与面光源匹配的光照数据集中,获取与光照距离相匹配的目标光照数据,其中,光照数据集中包括虚拟场景内不同空间位置各自对应的光照数据;按照目标光照数据渲染目标虚拟对象上的感光位置。本发明解决了相关技术提供的对象渲染方法存在渲染复杂度较高的技术问题。
Description
技术领域
本发明涉及计算机领域,具体而言,涉及一种对象渲染方法和装置、存储介质及电子设备。
背景技术
如今,在很多游戏应用提供的虚拟游戏场景中,为了给玩家提供身临其境的感觉,游戏平台往往会在该虚拟游戏场景内模拟出现实场景中的众多元素对象。比如,模拟出山川河流、动植物、建筑等。此外,为了让虚拟游戏场景中的各个对象看起来更加真实,还会模拟现实场景中发光体的发光效果。目前大多数3D引擎在虚拟游戏场景中配置的虚拟光源通常是点光源,即该光源是从一个点(光源)出发,向某一个方向投射出圆锥体形状的一束光线,越靠近光源中轴线光线越密集,亮度也就越高,反之越靠近边缘光线越稀疏,亮度也越低。
但基于上述点光源计算虚拟游戏场景内受光物体对象上渲染显示时的像素值时,通常采用的是球面分布函数,它需要计算机去求解球面方程,计算量大,这给实时渲染带来了挑战,而且会降低渲染出的画面的流畅性。也就是说,相关技术提供的对象渲染方法存在渲染复杂度较高的问题。
针对上述的问题,目前尚未提出有效的解决方案。
发明内容
本发明实施例提供了一种对象渲染方法和装置、存储介质及电子设备,以至少解决相关技术提供的对象渲染方法存在渲染复杂度较高的技术问题。
根据本发明实施例的一个方面,提供了一种对象渲染方法,包括:在配置有面光源的虚拟场景中,确定出当前待渲染的目标虚拟对象;获取上述目标虚拟对象上的感光位置与上述面光源之间的光照距离;在与上述面光源匹配的光照数据集中,获取与上述光照距离相匹配的目标光照数据,其中,上述光照数据集中包括上述虚拟场景内不同空间位置各自对应的光照数据;按照上述目标光照数据渲染上述目标虚拟对象上的上述感光位置。
根据本发明实施例的另一方面,还提供了一种对象渲染装置,包括:第一确定单元,用于在配置有面光源的虚拟场景中,确定出当前待渲染的目标虚拟对象;第一获取单元,用于获取上述目标虚拟对象上的感光位置与上述面光源之间的光照距离;第二获取单元,用于在与上述面光源匹配的光照数据集中,获取与上述光照距离相匹配的目标光照数据,其中,上述光照数据集中包括上述虚拟场景内不同空间位置各自对应的光照数据;渲染单元,用于按照上述目标光照数据渲染上述目标虚拟对象上的上述感光位置。
根据本发明实施例的又一方面,还提供了一种计算机可读的存储介质,该计算机可读的存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述对象渲染方法。
根据本发明实施例的又一方面,还提供了一种电子设备,包括存储器和处理器,上述存储器中存储有计算机程序,上述处理器被设置为通过上述计算机程序执行上述的对象渲染方法。
在本发明实施例中,在配置有面光源的虚拟场景中,确定出当前待渲染的目标虚拟对象,并获取该目标虚拟对象上的感光位置与面光源之间的光照距离。在预先为面光源生成的光照数据集中,获取与上述光照距离相匹配的目标光照数据,其中,上述光照数据集中包括虚拟场景内不同空间位置各自对应的光照数据。然后,按照目标光照数据渲染上述目标虚拟对象上的感光位置。也就是说,基于虚拟场景内配置的面光源,预先对虚拟场景内各个空间位置计算受到面光源照射的光照数据,然后在确定出待渲染的目标虚拟对象后,将直接从已有的光照数据中拉取与感光位置对应的光照数据,并基于此进行渲染。而不再需要针对目标虚拟对象上的各个感光位置分别进行球面分布计算,大大节省了计算量,从而简化对象渲染的过程,达到提高渲染效率的效果。进而克服相关技术提供的对象渲染方法存在的渲染复杂度较高的问题。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据本发明实施例的一种可选的对象渲染方法的硬件环境的示意图;
图2是根据本发明实施例的一种可选的对象渲染方法的流程图;
图3是根据本发明实施例的一种可选的对象渲染方法的示意图;
图4是根据本发明实施例的另一种可选的对象渲染方法的示意图;
图5是根据本发明实施例的又一种可选的对象渲染方法的示意图;
图6是根据本发明实施例的又一种可选的对象渲染方法的示意图;
图7是根据本发明实施例的又一种可选的对象渲染方法的示意图;
图8是根据本发明实施例的又一种可选的对象渲染方法的示意图;
图9是根据本发明实施例的又一种可选的对象渲染方法的示意图;
图10是根据本发明实施例又的一种可选的对象渲染方法的示意图;
图11是根据本发明实施例的又一种可选的对象渲染方法的示意图;
图12是根据本发明实施例的另一种可选的对象渲染方法的流程图;
图13是根据本发明实施例的一种可选的对象渲染装置的结构示意图;
图14是根据本发明实施例的一种可选的电子设备的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、***、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
需要说明的是,在本申请实施例中,可以但不限于涉及以下技术术语:
Canvas:是HTML5的一部分,允许脚本语言动态渲染位图像。
Threejs:是一款运行在浏览器中的3D引擎,可以用它在Web中创建各种三维场景,它是通过对WebGL接口的封装与简化而形成的一个易用的3D图形库,包括摄影机、光影、材质等各种对象。
WebGL:是一种3D绘图协议,这种绘图技术标准允许把JavaScript和OpenGL ES2.0结合在一起,通过增加OpenGL ES 2.0的一个JavaScript绑定,使得WebGL可以为HTML5Canvas提供硬件3D加速渲染,这样Web开发人员就可以借助设备显卡来在浏览器里更流畅地展示3D场景和模型了,还能创建复杂的导航和数据视觉化。
图形处理器(Graphics Processing Unit,简称GPU),又称显示核心、视觉处理器、显示芯片,是一种专门在个人电脑、工作站、游戏机和一些移动设备(如平板电脑、智能手机等)上做图像和图形相关运算工作的微处理器。
着色器(又称Shader):用来实现图像渲染,能在屏幕上着色或绘制某些东西。着色器替代了传统的固定渲染管线,可以实现3D图形学的相关计算。由于其可编辑性,因而可以实现各种各样的图像效果而不用受显卡的固定渲染管线限制。
根据本发明实施例的一个方面,提供了一种对象渲染方法,可选地,作为一种可选的实施方式,上述对象渲染方法可以但不限于应用于如图1所示的硬件环境中的对象渲染***中,其中,该对象渲染***可以包括但不限于终端设备102、网络104、服务器106、数据库108。终端设备102中运行有显示虚拟场景的目标客户端(如图1所示该目标客户端以游戏客户端为例)。上述终端设备102中包括人机交互屏幕,处理器及存储器。人机交互屏幕用于显示虚拟游戏场景(如图1所示虚拟游戏场景为射击游戏场景)中出现的各个虚拟对象;还用于提供人机交互接口以接收用于控制虚拟游戏场景中受控的虚拟对象的人机交互操作,该虚拟对象将完成虚拟游戏场景中设置的游戏任务。处理器用于响应上述人机交互操作生成交互指令,并将该交互指令发送给服务器。存储器用于存储相关属性数据,如待渲染的虚拟对象的对象属性数据及渲染所需的光照数据。
此外,服务器106中包括处理引擎,处理引擎用于对数据库108执行存储或读取操作。具体地,处理引擎将把上述终端设备102返回的被标记的目标对象对应的属性信息存储到上述数据库108中。
具体过程如以下步骤:如步骤S100,在终端设备102内运行的客户端中显示配置有面光源10的虚拟场景。然后如步骤S102,通过网络104将确定出的当前待渲染的目标虚拟对象11的标识发送给服务器106。服务器106将执行步骤S104-S106,获取该标识所指示的目标虚拟对象上的感光位置与面光源之间的光照距离,并在数据库108中存储的与上述面光源10匹配的光照数据集中,获取与该光照距离相匹配的目标光照数据。然后如步骤S108,将该目标光照数据通过网络104返回给终端设备102。终端设备102中收到上述目标光照数据后,将执行步骤S110,按照上述目标光照数据渲染目标虚拟对象上的感光位置。
需要说明的是,在本实施例中,在配置有面光源的虚拟场景中,确定出当前待渲染的目标虚拟对象,并获取该目标虚拟对象上的感光位置与面光源之间的光照距离。在预先为面光源生成的光照数据集中,获取与上述光照距离相匹配的目标光照数据,其中,上述光照数据集中包括虚拟场景内不同空间位置各自对应的光照数据。然后,按照目标光照数据渲染上述目标虚拟对象上的感光位置。也就是说,基于虚拟场景内配置的面光源,预先对虚拟场景内各个空间位置计算受到面光源照射的光照数据,然后在确定出待渲染的目标虚拟对象后,将直接从已有的光照数据中拉取与感光位置对应的光照数据,并基于此进行渲染。而不再需要针对目标虚拟对象上的各个感光位置分别进行球面分布计算,大大节省了计算量,从而简化对象渲染的过程,达到提高渲染效率的效果。进而克服相关技术提供的对象渲染方法存在的渲染复杂度较高的问题。
可选地,在本实施例中,上述终端设备可以是配置有目标客户端的终端设备,可以包括但不限于以下至少之一:手机(如Android手机、iOS手机等)、笔记本电脑、平板电脑、掌上电脑、MID(Mobile Internet Devices,移动互联网设备)、PAD、台式电脑、智能电视等。目标客户端可以是视频客户端、即时通信客户端、浏览器客户端、教育客户端等支持显示配置有面光源的虚拟场景的客户端。上述网络可以包括但不限于:有线网络,无线网络,其中,该有线网络包括:局域网、城域网和广域网,该无线网络包括:蓝牙、WIFI及其他实现无线通信的网络。上述服务器可以是单一服务器,也可以是由多个服务器组成的服务器集群,或者是云服务器。上述仅是一种示例,本实施例中对此不作任何限定。
可选地,作为一种可选的实施方式,如图2所示,上述对象渲染方法包括:
S202,在配置有面光源的虚拟场景中,确定出当前待渲染的目标虚拟对象;
需要说明的是,由于相关技术采用的点光源来为虚拟场景照明,但点光源的边缘光强度会递减,当光照射到受光物体的表面上时会出现明暗光圈,又因为它们各自的光圈会重叠,将会导致受光面亮度出现不均匀。因而,在本申请实施例中,是在配置面光源的虚拟场景中,基于预先对不同空间位置计算得到的光照数据集,来查找出受光的目标虚拟对象上各个感光位置各自对应的目标光照数据,从而实现快速完成对目标虚拟对象的渲染过程,以提高对象渲染效率。
可选地,在本实施例中,上述面光源可以但不限于是具有多边形形状的平面光源,如条形灯带、方形灯具、六边形光源等等。此外,在本实施例中,上述目标虚拟对象可以但不限于是虚拟场景中支持对面光源所发出的光线进行感光反射以显示成像的对象,如虚拟角色人物、虚拟动物、虚拟物体、虚拟建筑、虚拟载具等等。以上为示例,本实施例中对此不作任何限定。
S204,获取目标虚拟对象上的感光位置与面光源之间的光照距离;
需要说明的是,这里的目标虚拟对象为虚拟场景中占据一定空间体积的对象,该目标虚拟对象表面上的部分区域内的位置(即感光位置)将受到面光源的照射,显示出光照效果。
例如,如图3所示,假设虚拟场景中配置有面光源302,这里的面光源302为三个矩形面光源,分别配置有不同的颜色。这里虚拟场景中的目标虚拟对象304邻近面光源302一侧的表面,由于受到照射,将显示感光后的亮面效果,如图3中目标虚拟对象304所示,左侧表面是暗面,而右侧表面是亮面。
可选地,在本实施例中,这里目标虚拟对象上的感光位置与面光源之间的光照距离,可以但不限于是感光位置到面光源的最短连线距离。
S206,在与面光源匹配的光照数据集中,获取与光照距离相匹配的目标光照数据,其中,光照数据集中包括虚拟场景内不同空间位置各自对应的光照数据;
可选地,在本实施例中,上述光照数据集可以但不限于是预先基于面光源对虚拟场景中各个空间位置的照射情况而计算出的光照数据,该光照数据用于指示该空间位置显示出感光效果所需的渲染数据。其中,在光照数据集中查找与目标虚拟对象上的感光位置相匹配的目标光照数据,可以但不限于依据感光位置相对面光源的光照距离。也就是说,在光照数据集中将记录有不同光照距离对应的空间位置与对应光照数据之间的映射关系。
S208,按照目标光照数据渲染目标虚拟对象上的感光位置。
可选地,在本实施例中,上述目标虚拟对象可以但不限于是基于着色器来完成渲染。其中,这里的着色器是一个绘制东西到屏幕上的函数,它运行在终端设备内显卡的GPU中。可以通过使用着色器使用的编程语言,即图形库着色器语言(Graphics LibraryShader Language,简称GLSL),来编写自定义的着色程序,以完成绘制渲染的过程。这里的着色器可以但不限于是在三维绘图引擎中采用既定绘图协议来完成绘制的渲染工具,用于根据着色器程序去计算受光物体上各个感光位置上像素的相关信息,然后将计算结果渲染到屏幕上。
例如,假设图4所示内容为采用WebGL绘图协议的着色器的渲染流程。当光照到受光物体(如目标虚拟对象)表面时,基于WebGL协议将根据光源发出的光的属性,去运行相应的着色器程序来修改受光物体的表面像素的颜色值,从而模拟出该受光物体被光源照射后的光照效果。即,通过不同的着色程序中的顶点着色器和片段着色器绘制,并在GPU中运算像素的颜色值,再向屏幕输出运算结果。
可选地,在本实施例中,上述着色器可以但不限于是运行在浏览器中的三维引擎(如Threejs)中预设的着色器RectAreaLightUniformsLib,它采用了根据线性变换余弦(Linearly Transformed Cosines,简称LTC)算法编写的着色器程序,使用它可以近似模拟出双向反射分布函数(Bidirectional Reflectance Distribution Function,简称BRDF)的光照效果,即光照射到物体表面后的效果。通过该着色器可以改变物体外表面受光区域内所有像素的颜色属性,从而得到光源照射在该区域上的光照效果。
其中,着色器RectAreaLightUniformsLib的代码很长,其主要就是封装LTC转换矩阵,运行时着色器根据该转换矩阵对光做相应的线性变换使光投影到物体表面上,然后配合光的属性修改投影区域内所有像素的颜色值。此外,RectAreaLight内部是将平面光投影到物体表面上,对投影区域内的所有像素基于着色器RectAreaLightUniformsLib进行绘制,着色器程序会重新计算各个像素的颜色值,并将算结果实时渲染到屏幕上,这样用户就能看到平面光照在物体上的效果了。
其中,BRDF是用来定义给定的入射方向上的辐射照度对给定的出射方向上的辐射率。它描述了入射光线经过某个表面反射后在各个出射方向对应的分布情况,也就是人眼看到的光的反射效果。
比如,激光发射器将光线向下垂直地发射到桌面上,在该桌面上就可以看到一个亮点,然后从不同的方向观察这个亮点,会发现亮点的亮度随着观察方向的不同而发生改变。保持眼睛观察方向不变,仅改变激光发射的方向,同样也可以观察到亮点的亮度在不断发生变化。这是因为物体表面对光的不同入射角和反射角的组合,拥有不同的反射率。也就是说,BRDF定义了场景中的光照射到物体材质表面后反射到视点的光亮度计算方法,是物体接受光照后表面颜色的一种生成算法。例如,如图5所示,n为法线向量,wi为入射光线向量,wo为出射光线向量,通过上述BRDF就是用来求解在wi和wo角度组合下出射光线wo的亮度的算法。
但BRDF算法采用的是球面分布函数,在使用多边形的面光源进行着色渲染(即计算光照到物体时,物体表面上的各个像素点的颜色值)时,需要将BRDF集成到光源覆盖的多边形区域上,如图6所示,它需要计算机求解多边形的面光源照射到球体表面时的球面方程,由于计算量大,给实时渲染带来了挑战,使得对画面中对象渲染的流畅性会降低。
为了克服这个实时计算的难题,在本实施例中,可以但不限于采用LTC算法(也可称作线性映射)来近似模拟BRDF算法,以降低计算开销,并能在保证画面流畅性的前提下实时运算出结果。这里的LTC算法是在两个向量空间之间的一种保持向量加法和标量乘法的特殊映射。线性变换就是将位于同一个坐标系中的所有点,按照某种变换规则映射到另一个向量空间的坐标系中。例如,如图7所示。点x经过函数T,变换到了值域的T(X)位置,图中“定义域”的所有点经过T变换都可以映射到“值域”中。在本实施例中,可以但不限于采用LTC算法来解决多边形的面光源在物体表面上形成的投影区域的光照渲染问题,从而将计算BRDF的球面方程简化为计算线性方程,降低了计算复杂度。
在本实施例中,基于LTC算法预先计算面光源照射到各个空间位置上形成的光照数据,得到光照数据集。从而实现在受光物体(即目标虚拟对象)被面光源的光线命中时,可以直接基于其对应的光照距离从上述光照数据集中拉取对应的光照数据,来完成感光渲染,从而使得目标虚拟对象快速高效地呈现出被面光源照射的光照渲染效果。
通过本申请提供的实施例,在配置有面光源的虚拟场景中,确定出当前待渲染的目标虚拟对象,并获取该目标虚拟对象上的感光位置与面光源之间的光照距离。在预先为面光源生成的光照数据集中,获取与上述光照距离相匹配的目标光照数据,其中,上述光照数据集中包括虚拟场景内不同空间位置各自对应的光照数据。然后,按照目标光照数据渲染上述目标虚拟对象上的感光位置。也就是说,基于虚拟场景内配置的面光源,预先对虚拟场景内各个空间位置计算受到面光源照射的光照数据,然后在确定出待渲染的目标虚拟对象后,将直接从已有的光照数据中拉取与感光位置对应的光照数据,并基于此进行渲染。而不再需要针对目标虚拟对象上的各个感光位置分别进行球面分布计算,大大节省了计算量,从而简化对象渲染的过程,达到提高渲染效率的效果。进而克服相关技术提供的对象渲染方法存在的渲染复杂度较高的问题。
作为一种可选的方案,在配置有面光源的虚拟场景中,确定出当前待渲染的目标虚拟对象包括:
S1,在面光源发出的光线投影到虚拟场景时,将光线命中的虚拟对象确定为目标虚拟对象,并将光线在目标虚拟对象上投影的表面区域确定为感光区域,其中,感光区域中包括感光位置。
具体结合图8所示示例进行说明:假设虚拟场景中配置有图8中右侧所示的面光源,基于该面光源发射的光线进行射线检测,基于检测结果计算其在虚拟场景提供的空间中照射到各个空间位置的光照数据。例如,如图8所示,在不同光照距离下的光线位置将形成不同的光照面(如图中斜线填充区域),光照面上的各个位置都会计算出对应的光照数据。
在上述光线命中作为受光物体的目标虚拟对象时,确定被命中的表面区域,如图8中目标虚拟对象的白色区域,将其作为感光区域,该感光区域中的位置为感光位置,然后,根据光照距离从上述预先计算出的光照数据中查找出这里感光位置渲染所需的光照数据,并依据该查找出的光照数据来对上述感光位置的像素点上的颜色值进行调整渲染,以呈现出该感光位置受到面光源照射后的光照效果。
通过本申请提供的实施例,在面光源发出的光线投影到虚拟场景时,将光线命中的虚拟对象确定为目标虚拟对象,并将光线在目标虚拟对象上投影的表面区域确定为感光区域,以便于获取该感光区域中的感光位置对应的光照数据进行渲染,从而准确地呈现出目标虚拟对象受到面光源照射后的光照效果。
作为一种可选的方案,获取目标虚拟对象上的感光位置与面光源之间的光照距离包括:
S1,遍历感光区域内的各个感光位置,分别作为当前感光位置,并执行以下操作:
S11,计算当前感光位置与面光源中目标点位置之间的距离,其中,目标点位置为当前感光位置到面光源的最短连线所指向的点位置;
S12,将距离确定为光照距离。
具体结合图9所示示例进行说明:遍历感光区域(如图中所示目标虚拟对象的白色区域)中的各个感光位置,分别将其作为当前感光位置来计算光照距离。
如以感光位置A为例,确定面光源中与该感光位置A对应的目标点位置A’,计算二者之间最短连线的距离L,然后将该距离L确定为二者之间的光照距离,以便于基于该光照距离来在光照数据集中查找该感光位置渲染所需的光照数据。
通过本申请提供的实施例,通过计算目标虚拟对象上的感光位置与面光源中目标点位置之间的距离,来将其作为用于从光照数据集中查找出对应光照数据的光照距离。从而实现快速准确地得到渲染受光物体所需的数据,达到提高对其渲染的效率。
作为一种可选的方案,按照目标光照数据渲染目标虚拟对象上的感光位置包括:
S1,从目标光照数据中提取出目标空间位置当前对应的图像渲染参数值,其中,图像渲染参数值包括:颜色值和透明度;
S2,按照图像渲染参数值,对与目标空间位置对应的感光位置上各个像素的渲染参数值进行调整,得到调整后的渲染参数值;
S3,按照调整后的渲染参数值进行画面渲染。
例如,以在浏览器中的三维引擎(如Threejs)中预设的着色器RectAreaLightUniformsLib为例来进行渲染。该着色器中封装的线性转换矩阵M,将对面光源发射的光做相应的线性变换处理,使其投影到物体表面上,然后结合该面光源的属性信息(如光源颜色、光源形状及面积、光源光强等)来修改这里投影区域(即目标虚拟对象上的感光区域)内各个像素的颜色值和透明度:DataTexture(LTC_MAT_1,LTC_MAT_2)。其中,在LTC_MAT_1中记录有各个像素点的颜色值(Red Green Blue,即RGB值)和透明度,在LTC_MAT_2中记录有各个像素点的法线向量和位置坐标信息。
需要说明的是,目标虚拟对象上的各个像素点配置有未受到面光源照射时的原始渲染参数值。在本实施例中,在检测到目标虚拟对象的表面区域受到上述配置的面光源的照射时,根据上述计算过程确定投影形成的感光区域内感光位置上像素点的图像渲染参数值,来对原始渲染参数值进行调整,得到调整后的渲染参数值。
通过本申请提供的实施例,在从目标光照数据中提取出目标空间位置当前对应的图像渲染参数值之后,按照该图像渲染参数值,对与目标空间位置对应的感光位置上各个像素的渲染参数值进行调整,得到调整后的渲染参数值;并按照调整后的渲染参数值进行画面渲染。而无需再对感光位置进行复杂的渲染计算,达到提高渲染效率的效果。
作为一种可选的方案,在配置有面光源的虚拟场景中,确定出当前待渲染的目标虚拟对象之前,还包括:
S1,基于面光源上各个点光源照射到虚拟场景内各个空间位置的光照结果,构建每个空间位置各自对应的光照方程;
S2,对光照方程进行线性变换求解计算,以得到与空间位置对应的光照数据;
S3,基于各个空间位置各自对应的光照数据,构建出光照数据集。
可选地,在本实施例中,步骤S1,基于面光源上各个点光源照射到虚拟场景内各个空间位置的光照结果,构建每个空间位置各自对应的光照方程包括:
S11,将各个空间位置依次作为当前着色点位置,并确定出与当前着色点位置对应的当前光照方程;
S12,遍历面光源中的各个点光源,将每个点光源依次作为当前点光源;
S12-1,在当前点光源并非面光源中最后一个点光源的情况下,确定当前点光源照射到当前着色点位置上的当前光线向量,以及当前着色点位置对应的当前法线向量;
S12-2,计算当前光线向量与当前法线向量之间的当前夹角;
S12-3,获取着色器中封装的线性转换矩阵,其中,线性转换矩阵中的元素参数值是通过多次训练得到的误差值位于目标区间内的参数值;
S12-4,基于当前光线向量、线性转换矩阵及当前夹角的余弦值,构建当前点光源照射到当前着色点位置的当前对象光照方程;
S12-5,对各个点光源各自对应的对象光照方程进行积分计算,以构建当前光照方程。
具体结合以下示例进行说明:
假设这里的面光源的光泽反射的光照计算公式如下:
其中,S为面光源区域,s为面光源区域上的一个点,p为着色点,np为着色点法线,wi为s到p的向量,θp为np与wi的夹角。
而面光源的漫反射的光照计算公式如下:
其中,θp为面光源上s点的法线ns与-wi的夹角。公式(1)与公式(2)相似,但光泽反射多了复杂的BRDF及面光源上纹理的颜色L。
这里可以通过线性变换矩阵来完成对上述复杂光照方程的简化处理,由于cos(θs)和f(p,wi,wo)均是球面分布函数,因而可以将二者按照以下公式表示:
f(p,wi,wo)≈M*cos(θs) (3)
其中,上述M就为线性转换矩阵,也就是说任一个f(p,wi,wo)一定可以找到一个M变换矩阵将其转换到cos(θs)。这里的线性变换是把入射向量乘以矩阵M,即:
这里的M矩阵可以但不限于通过遍历所有的矩阵来找到误差足够小的满足条件的矩阵作为M矩阵即可。例如,采用类似梯度下降的思路,随机初始化一个矩阵M,然后经过计算,得到优化梯度(即调整优化以得到修正后的M矩阵),循环往复,直至误差落在指定数值区间。
基于上述构建的光照方程,将上述公式(4)带入公式(1),以得到:
将上述公式(5)作为为本实施例中的面光源构建的光照方程,然后对该方程进行线性求解计算,以得到渲染所需的渲染参数值,如颜色值和透明度等。
通过本申请提供的实施例,通过线性变换算法为面光源构建的光照方程来计算得到渲染所需的光照数据,而无需再进行球面计算,大大减少了渲染运算量,从而达到提高渲染效率的目的。
作为一种可选的方案,在配置有面光源的虚拟场景中,确定出当前待渲染的目标虚拟对象之前,还包括:
S1,设置面光源在虚拟场景内的发光属性信息,其中,发光属性信息包括以下至少之一:面光源的颜色、面光源的光照强度、面光源的发光面积。
需要说明的是,在本实施例中的面光源可以但不限于预先配置其发光属性信息,进一步,结合该信息来计算虚拟场景内的各个空间位置的光照数据。
例如,这里面光源以Threejs引擎封装好的平面光光源RectAreaLight为例,它是使用RectAreaLightUniformsLib着色器实现的一种平面光源,可以从一个矩形平面上均匀地发射出光线。使用RectAreaLight可以给光源设定光的颜色、强度和发光面积,面光源的显示效果可以如图10-图11所示。
其中,Threejs引擎中还包括面光源预设的辅助器RectAreaLightHelper,主要功能是用一个边框把RectAreaLight光源包起来,让它看起来更像平面光源,同时还可以限定光的发光面,比如本案例仅在一面发光,在另一侧是没有光的。
具体结合以下图11所示流程来完整说明本申请实施例中的渲染过程:
如步骤S1202,根据项目需要设置面光源的颜色、强度和发光面积。
如步骤S1204,运行封装有LTC算法的着色器程序。
其中,在该着色器中实现以下步骤:
S1204-1,将面光源发射的光投影到受光物体的物体表面,形成投影区域。
S1204-2,提取投影区域内的每个像素。
S1214-3,修改各个像素的颜色值,得到调整后的新颜色。
S1214-4,将调整后的新颜色实时渲染到屏幕上。
上述图12所示流程为示例,本实施例中对其中的步骤过程,不作任何限定。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
根据本发明实施例的另一个方面,还提供了一种用于实施上述对象渲染方法的对象渲染装置。如图13所示,该装置包括:
第一确定单元1302,用于在配置有面光源的虚拟场景中,确定出当前待渲染的目标虚拟对象;
第一获取单元1304,用于获取目标虚拟对象上的感光位置与面光源之间的光照距离;
第二获取单元1306,用于在与面光源匹配的光照数据集中,获取与光照距离相匹配的目标光照数据,其中,光照数据集中包括虚拟场景内不同空间位置各自对应的光照数据;
渲染单元1308,用于按照目标光照数据渲染目标虚拟对象上的感光位置。
在本实施例中,各个模块单元所实现的实施例,可以参考上述方法实施例,这里不再赘述。
作为一种可选的方案,第一确定单元1302包括:
第一确定模块,用于在面光源发出的光线投影到虚拟场景时,将光线命中的虚拟对象确定为目标虚拟对象,并将光线在目标虚拟对象上投影的表面区域确定为感光区域,其中,感光区域中包括感光位置。
在本实施例中,各个模块单元所实现的实施例,可以参考上述方法实施例,这里不再赘述。
作为一种可选的方案,第一获取单元1304包括:
第一处理模块,用于遍历感光区域内的各个感光位置,分别作为当前感光位置,并执行以下操作:
S1,计算当前感光位置与面光源中目标点位置之间的距离,其中,目标点位置为当前感光位置到面光源的最短连线所指向的点位置;
S2,将距离确定为光照距离。
在本实施例中,各个模块单元所实现的实施例,可以参考上述方法实施例,这里不再赘述。
作为一种可选的方案,渲染单元1308包括:
提取模块,用于从目标光照数据中提取出目标空间位置当前对应的图像渲染参数值,其中,图像渲染参数值包括:颜色值和透明度;
调整模块,用于按照图像渲染参数值,对与目标空间位置对应的感光位置上各个像素的渲染参数值进行调整,得到调整后的渲染参数值;
渲染模块,用于按照调整后的渲染参数值进行画面渲染。
在本实施例中,各个模块单元所实现的实施例,可以参考上述方法实施例,这里不再赘述。
作为一种可选的方案,还包括:
第一构建单元,用于在配置有面光源的虚拟场景中,确定出当前待渲染的目标虚拟对象之前,基于面光源上各个点光源照射到虚拟场景内各个空间位置的光照结果,构建每个空间位置各自对应的光照方程;
计算单元,用于对光照方程进行线性变换求解计算,以得到与空间位置对应的光照数据;
第二构建单元,用于基于各个空间位置各自对应的光照数据,构建出光照数据集。
在本实施例中,各个模块单元所实现的实施例,可以参考上述方法实施例,这里不再赘述。
作为一种可选的方案,第一构建单元包括:
第二确定模块,用于将各个空间位置依次作为当前着色点位置,并确定出与当前着色点位置对应的当前光照方程;
第二处理模块,用于遍历面光源中的各个点光源,将每个点光源依次作为当前点光源;
在当前点光源并非面光源中最后一个点光源的情况下,确定当前点光源照射到当前着色点位置上的当前光线向量,以及当前着色点位置对应的当前法线向量;
计算当前光线向量与当前法线向量之间的当前夹角;
获取着色器中封装的线性转换矩阵,其中,线性转换矩阵中的元素参数值是通过多次训练得到的误差值位于目标区间内的参数值;
基于当前光线向量、线性转换矩阵及当前夹角的余弦值,构建当前点光源照射到当前着色点位置的当前对象光照方程;
对各个点光源各自对应的对象光照方程进行积分计算,以构建当前光照方程。
在本实施例中,各个模块单元所实现的实施例,可以参考上述方法实施例,这里不再赘述。
作为一种可选的方案,还包括:
设置单元,用于在配置有面光源的虚拟场景中,确定出当前待渲染的目标虚拟对象之前,设置面光源在虚拟场景内的发光属性信息,其中,发光属性信息包括以下至少之一:面光源的颜色、面光源的光照强度、面光源的发光面积。
在本实施例中,各个模块单元所实现的实施例,可以参考上述方法实施例,这里不再赘述。
根据本发明实施例的又一个方面,还提供了一种用于实施上述对象渲染方法的电子设备,该电子设备可以是图1所示的终端设备或服务器。本实施例以该电子设备为终端设备为例来说明。如图14所示,该电子设备包括存储器1402和处理器1404,该存储器1402中存储有计算机程序,该处理器1404被设置为通过计算机程序执行上述任一项方法实施例中的步骤。
可选地,在本实施例中,上述电子设备可以位于计算机网络的多个网络设备中的至少一个网络设备。
可选地,在本实施例中,上述处理器可以被设置为通过计算机程序执行以下步骤:
S1,在配置有面光源的虚拟场景中,确定出当前待渲染的目标虚拟对象;
S2,获取目标虚拟对象上的感光位置与面光源之间的光照距离;
S3,在与面光源匹配的光照数据集中,获取与光照距离相匹配的目标光照数据,其中,光照数据集中包括虚拟场景内不同空间位置各自对应的光照数据;
S4,按照目标光照数据渲染目标虚拟对象上的感光位置。
可选地,本领域普通技术人员可以理解,图14所示的结构仅为示意,电子装置电子设备也可以是智能手机(如Android手机、iOS手机等)、平板电脑、掌上电脑以及移动互联网设备(Mobile Internet Devices,MID)、PAD等终端设备。图14其并不对上述电子装置电子设备的结构造成限定。例如,电子装置电子设备还可包括比图14中所示更多或者更少的组件(如网络接口等),或者具有与图14所示不同的配置。
其中,存储器1402可用于存储软件程序以及模块,如本发明实施例中的对象渲染方法和装置对应的程序指令/模块,处理器1404通过运行存储在存储器1402内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的对象渲染方法。存储器1402可包括高速随机存储器,还可以包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器1402可进一步包括相对于处理器1404远程设置的存储器,这些远程存储器可以通过网络连接至终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。其中,存储器1402具体可以但不限于用于不同位置的光照数据等信息。作为一种示例,如图14所示,上述存储器1402中可以但不限于包括上述对象渲染装置中的第一确定单元1302、第一获取单元1304、第二获取单元1306及渲染单元1308。此外,还可以包括但不限于上述对象渲染装置中的其他模块单元,本示例中不再赘述。
可选地,上述的传输装置1406用于经由一个网络接收或者发送数据。上述的网络具体实例可包括有线网络及无线网络。在一个实例中,传输装置1406包括一个网络适配器(Network Interface Controller,NIC),其可通过网线与其他网络设备与路由器相连从而可与互联网或局域网进行通讯。在一个实例中,传输装置1406为射频(Radio Frequency,RF)模块,其用于通过无线方式与互联网进行通讯。
此外,上述电子设备还包括:显示器1408,用于显示上述虚拟场景,并呈现被面光源照射的目标虚拟对象的光照效果;和连接总线1410,用于连接上述电子设备中的各个模块部件。
在其他实施例中,上述终端设备或者服务器可以是一个分布式***中的一个节点,其中,该分布式***可以为区块链***,该区块链***可以是由该多个节点通过网络通信的形式连接形成的分布式***。其中,节点之间可以组成点对点(P2P,Peer To Peer)网络,任意形式的计算设备,比如服务器、终端等电子设备都可以通过加入该点对点网络而成为该区块链***中的一个节点。
根据本申请的一个方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述对象渲染方法。其中,该计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
可选地,在本实施例中,上述计算机可读的存储介质可以被设置为存储用于执行以下步骤的计算机程序:
S1,在配置有面光源的虚拟场景中,确定出当前待渲染的目标虚拟对象;
S2,获取目标虚拟对象上的感光位置与面光源之间的光照距离;
S3,在与面光源匹配的光照数据集中,获取与光照距离相匹配的目标光照数据,其中,光照数据集中包括虚拟场景内不同空间位置各自对应的光照数据;
S4,按照目标光照数据渲染目标虚拟对象上的感光位置。
可选地,在本实施例中,本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令终端设备相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:闪存盘、只读存储器(Read-Only Memory,ROM)、随机存取器(Random Access Memory,RAM)、磁盘或光盘等。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
上述实施例中的集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在上述计算机可读取的存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在存储介质中,包括若干指令用以使得一台或多台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的客户端,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (10)
1.一种对象渲染方法,其特征在于,包括:
在配置有面光源的虚拟场景中,确定出当前待渲染的目标虚拟对象;
获取所述目标虚拟对象上的感光位置与所述面光源之间的光照距离;
在与所述面光源匹配的光照数据集中,获取与所述光照距离相匹配的目标光照数据,其中,所述光照数据集中包括所述虚拟场景内不同空间位置各自对应的光照数据;
按照所述目标光照数据渲染所述目标虚拟对象上的所述感光位置。
2.根据权利要求1所述的方法,其特征在于,在配置有面光源的虚拟场景中,确定出当前待渲染的目标虚拟对象包括:
在所述面光源发出的光线投影到所述虚拟场景时,将所述光线命中的虚拟对象确定为所述目标虚拟对象,并将所述光线在所述目标虚拟对象上投影的表面区域确定为感光区域,其中,所述感光区域中包括所述感光位置。
3.根据权利要求2所述的方法,其特征在于,获取所述目标虚拟对象上的感光位置与所述面光源之间的光照距离包括:
遍历所述感光区域内的各个感光位置,分别作为当前感光位置,并执行以下操作:
计算所述当前感光位置与所述面光源中目标点位置之间的距离,其中,所述目标点位置为所述当前感光位置到所述面光源的最短连线所指向的点位置;
将所述距离确定为所述光照距离。
4.根据权利要求1所述的方法,其特征在于,按照所述目标光照数据渲染所述目标虚拟对象上的所述感光位置包括:
从所述目标光照数据中提取出目标空间位置当前对应的图像渲染参数值,其中,所述图像渲染参数值包括:颜色值和透明度;
按照所述图像渲染参数值,对与所述目标空间位置对应的所述感光位置上各个像素的渲染参数值进行调整,得到调整后的渲染参数值;
按照所述调整后的渲染参数值进行画面渲染。
5.根据权利要求1所述的方法,其特征在于,在配置有面光源的虚拟场景中,确定出当前待渲染的目标虚拟对象之前,还包括:
基于所述面光源上各个点光源照射到所述虚拟场景内各个空间位置的光照结果,构建每个所述空间位置各自对应的光照方程;
对所述光照方程进行线性变换求解计算,以得到与所述空间位置对应的光照数据;
基于各个所述空间位置各自对应的光照数据,构建出所述光照数据集。
6.根据权利要求5所述的方法,其特征在于,基于所述面光源上各个点光源照射到所述虚拟场景内各个空间位置的光照结果,构建每个所述空间位置各自对应的光照方程包括:
将各个空间位置依次作为当前着色点位置,并确定出与所述当前着色点位置对应的当前光照方程;
遍历所述面光源中的各个点光源,将每个点光源依次作为当前点光源;
在所述当前点光源并非所述面光源中最后一个点光源的情况下,确定所述当前点光源照射到所述当前着色点位置上的当前光线向量,以及所述当前着色点位置对应的当前法线向量;
计算所述当前光线向量与所述当前法线向量之间的当前夹角;
获取着色器中封装的线性转换矩阵,其中,所述线性转换矩阵中的元素参数值是通过多次训练得到的误差值位于目标区间内的参数值;
基于所述当前光线向量、所述线性转换矩阵及所述当前夹角的余弦值,构建所述当前点光源照射到所述当前着色点位置的当前对象光照方程;
对各个点光源各自对应的对象光照方程进行积分计算,以构建所述当前光照方程。
7.根据权利要求1至6中任一项所述的方法,其特征在于,在配置有面光源的虚拟场景中,确定出当前待渲染的目标虚拟对象之前,还包括:
设置所述面光源在所述虚拟场景内的发光属性信息,其中,所述发光属性信息包括以下至少之一:所述面光源的颜色、所述面光源的光照强度、所述面光源的发光面积。
8.一种对象渲染装置,其特征在于,包括:
第一确定单元,用于在配置有面光源的虚拟场景中,确定出当前待渲染的目标虚拟对象;
第一获取单元,用于获取所述目标虚拟对象上的感光位置与所述面光源之间的光照距离;
第二获取单元,用于在与所述面光源匹配的光照数据集中,获取与所述光照距离相匹配的目标光照数据,其中,所述光照数据集中包括所述虚拟场景内不同空间位置各自对应的光照数据;
渲染单元,用于按照所述目标光照数据渲染所述目标虚拟对象上的所述感光位置。
9.一种计算机可读的存储介质,其特征在于,所述计算机可读的存储介质包括存储的程序,其中,所述程序运行时执行所述权利要求1至7任一项中所述的方法。
10.一种电子设备,包括存储器和处理器,其特征在于,所述存储器中存储有计算机程序,所述处理器被设置为通过所述计算机程序执行所述权利要求1至7任一项中所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110963740.5A CN113648652B (zh) | 2021-08-20 | 2021-08-20 | 对象渲染方法和装置、存储介质及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110963740.5A CN113648652B (zh) | 2021-08-20 | 2021-08-20 | 对象渲染方法和装置、存储介质及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113648652A true CN113648652A (zh) | 2021-11-16 |
CN113648652B CN113648652B (zh) | 2023-11-14 |
Family
ID=78491984
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110963740.5A Active CN113648652B (zh) | 2021-08-20 | 2021-08-20 | 对象渲染方法和装置、存储介质及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113648652B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115393499A (zh) * | 2022-08-11 | 2022-11-25 | 广州极点三维信息科技有限公司 | 一种3d实时渲染方法、***及介质 |
WO2023087911A1 (zh) * | 2021-11-19 | 2023-05-25 | 腾讯科技(深圳)有限公司 | 一种数据处理方法、装置以及可读存储介质 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102346918A (zh) * | 2011-09-30 | 2012-02-08 | 长春理工大学 | 一种只包含物体变化的三维动画场景的绘制方法 |
CN102819860A (zh) * | 2012-08-16 | 2012-12-12 | 北京航空航天大学 | 基于辐射度算法的次表面散射物体的实时全局光照方法 |
CN103606182A (zh) * | 2013-11-19 | 2014-02-26 | 华为技术有限公司 | 图像渲染方法及装置 |
CN106056658A (zh) * | 2016-05-23 | 2016-10-26 | 珠海金山网络游戏科技有限公司 | 一种虚拟对象渲染方法及装置 |
US20170018256A1 (en) * | 2015-07-17 | 2017-01-19 | Abl Ip Holding Llc | Systems and methods to provide configuration data to a software configurable lighting device |
CN107452048A (zh) * | 2016-05-30 | 2017-12-08 | 网易(杭州)网络有限公司 | 全局光照的计算方法及装置 |
CN109364481A (zh) * | 2018-10-30 | 2019-02-22 | 网易(杭州)网络有限公司 | 游戏内的实时全局光照方法、装置、介质及电子设备 |
CN109364486A (zh) * | 2018-10-30 | 2019-02-22 | 网易(杭州)网络有限公司 | 游戏中hdr渲染的方法及装置、电子设备、存储介质 |
CN111632378A (zh) * | 2020-06-08 | 2020-09-08 | 网易(杭州)网络有限公司 | 光照贴图制作、游戏模型的渲染方法、装置和电子设备 |
CN112755535A (zh) * | 2021-02-05 | 2021-05-07 | 腾讯科技(深圳)有限公司 | 光照渲染方法、装置、存储介质及计算机设备 |
-
2021
- 2021-08-20 CN CN202110963740.5A patent/CN113648652B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102346918A (zh) * | 2011-09-30 | 2012-02-08 | 长春理工大学 | 一种只包含物体变化的三维动画场景的绘制方法 |
CN102819860A (zh) * | 2012-08-16 | 2012-12-12 | 北京航空航天大学 | 基于辐射度算法的次表面散射物体的实时全局光照方法 |
CN103606182A (zh) * | 2013-11-19 | 2014-02-26 | 华为技术有限公司 | 图像渲染方法及装置 |
US20170018256A1 (en) * | 2015-07-17 | 2017-01-19 | Abl Ip Holding Llc | Systems and methods to provide configuration data to a software configurable lighting device |
CN106056658A (zh) * | 2016-05-23 | 2016-10-26 | 珠海金山网络游戏科技有限公司 | 一种虚拟对象渲染方法及装置 |
CN107452048A (zh) * | 2016-05-30 | 2017-12-08 | 网易(杭州)网络有限公司 | 全局光照的计算方法及装置 |
CN109364481A (zh) * | 2018-10-30 | 2019-02-22 | 网易(杭州)网络有限公司 | 游戏内的实时全局光照方法、装置、介质及电子设备 |
CN109364486A (zh) * | 2018-10-30 | 2019-02-22 | 网易(杭州)网络有限公司 | 游戏中hdr渲染的方法及装置、电子设备、存储介质 |
CN111632378A (zh) * | 2020-06-08 | 2020-09-08 | 网易(杭州)网络有限公司 | 光照贴图制作、游戏模型的渲染方法、装置和电子设备 |
CN112755535A (zh) * | 2021-02-05 | 2021-05-07 | 腾讯科技(深圳)有限公司 | 光照渲染方法、装置、存储介质及计算机设备 |
Non-Patent Citations (1)
Title |
---|
过 洁, 潘金贵: "复杂面光源下实时绘制研究", 《***仿真学报》, vol. 24, no. 1, pages 6 - 11 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023087911A1 (zh) * | 2021-11-19 | 2023-05-25 | 腾讯科技(深圳)有限公司 | 一种数据处理方法、装置以及可读存储介质 |
CN115393499A (zh) * | 2022-08-11 | 2022-11-25 | 广州极点三维信息科技有限公司 | 一种3d实时渲染方法、***及介质 |
Also Published As
Publication number | Publication date |
---|---|
CN113648652B (zh) | 2023-11-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108564646B (zh) | 对象的渲染方法和装置、存储介质、电子装置 | |
US11024077B2 (en) | Global illumination calculation method and apparatus | |
WO2022116759A1 (zh) | 图像渲染方法、装置、计算机设备和存储介质 | |
CN112215934A (zh) | 游戏模型的渲染方法、装置、存储介质及电子装置 | |
CN107341853A (zh) | 超大虚拟场景和动态摄屏的虚实融合方法及*** | |
CN112116692A (zh) | 模型渲染方法、装置、设备 | |
JP5839907B2 (ja) | 画像処理装置および画像処理方法 | |
CN113648652B (zh) | 对象渲染方法和装置、存储介质及电子设备 | |
CN101923462A (zh) | 一种基于FlashVR的三维微型场景网络发布引擎 | |
US9183654B2 (en) | Live editing and integrated control of image-based lighting of 3D models | |
KR20240001021A (ko) | 이미지 렌더링 방법, 장치, 전자 설비 및 저장 매체 | |
CN113674389A (zh) | 场景渲染方法、装置、电子设备及存储介质 | |
Ganovelli et al. | Introduction to computer graphics: A practical learning approach | |
US11610364B2 (en) | Method, device, and storage medium for applying lighting to a rendered object in a scene | |
US9704290B2 (en) | Deep image identifiers | |
CN114119818A (zh) | 场景模型的渲染方法、装置及设备 | |
US20230368459A1 (en) | Systems and methods for rendering virtual objects using editable light-source parameter estimation | |
Toisoul et al. | Accessible GLSL Shader Programming. | |
CN105976423B (zh) | 一种镜头光晕的生成方法和装置 | |
CN113648655B (zh) | 虚拟模型的渲染方法、装置、存储介质和电子设备 | |
WO2018182938A1 (en) | Method and system for wireless ultra-low footprint body scanning | |
CN116543094A (zh) | 模型渲染方法、装置、计算机可读存储介质与电子设备 | |
JP2003168130A (ja) | リアルタイムで合成シーンのフォトリアルなレンダリングをプレビューするための方法 | |
US9626791B2 (en) | Method for representing a participating media in a scene and corresponding device | |
CN111949904A (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 | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40054541 Country of ref document: HK |
|
GR01 | Patent grant | ||
GR01 | Patent grant |