CN111739142A - 场景渲染方法、装置、电子设备及计算机可读存储介质 - Google Patents
场景渲染方法、装置、电子设备及计算机可读存储介质 Download PDFInfo
- Publication number
- CN111739142A CN111739142A CN201910222778.XA CN201910222778A CN111739142A CN 111739142 A CN111739142 A CN 111739142A CN 201910222778 A CN201910222778 A CN 201910222778A CN 111739142 A CN111739142 A CN 111739142A
- Authority
- CN
- China
- Prior art keywords
- scene
- rendered
- rendering
- data
- illumination
- 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 132
- 238000000034 method Methods 0.000 title claims abstract description 49
- 238000005286 illumination Methods 0.000 claims abstract description 147
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 54
- 238000012545 processing Methods 0.000 claims abstract description 13
- 238000004364 calculation method Methods 0.000 claims description 19
- 230000003993 interaction Effects 0.000 claims description 15
- 238000004891 communication Methods 0.000 claims description 14
- 238000004590 computer program Methods 0.000 claims description 7
- 230000008569 process Effects 0.000 description 18
- 230000000694 effects Effects 0.000 description 12
- 230000005540 biological transmission Effects 0.000 description 11
- 238000010586 diagram Methods 0.000 description 8
- 230000006872 improvement Effects 0.000 description 7
- 238000004519 manufacturing process Methods 0.000 description 6
- 230000006870 function Effects 0.000 description 4
- 239000003086 colorant Substances 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 238000005034 decoration Methods 0.000 description 2
- 230000002452 interceptive effect Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 230000002238 attenuated effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000000802 evaporation-induced self-assembly Methods 0.000 description 1
- 238000007429 general method Methods 0.000 description 1
- 230000000670 limiting effect Effects 0.000 description 1
- 230000036961 partial effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/06—Ray-tracing
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Graphics (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Geometry (AREA)
- Image Generation (AREA)
- Processing Or Creating Images (AREA)
Abstract
本申请涉及计算机图形学领域,公开了一种场景渲染方法、装置、电子设备及计算机可读存储介质,其中,场景渲染方法包括:接收渲染请求,并获取渲染请求中的待渲染场景;接着对待渲染场景进行分析处理,得到相应的场景数据与灯光数据;接着基于场景数据与灯光数据,通过光线跟踪算法确定待渲染场景的光照信息;接着发送光照信息,以根据光照信息对待渲染场景进行渲染。本申请实施例的方法,通过具有很强的计算能力的烘培服务器,快速、实时地计算出待渲染场景的光照信息,保障了后续渲染的实时性,编辑器引擎根据光照信息对待渲染场景进行实时渲染与更新,极大提升整个场景画面的层次感与质感。
Description
技术领域
本申请涉及计算机图形学领域,具体而言,本申请涉及一种场景渲染方法、装置、电子设备及计算机可读存储介质。
背景技术
目前,高真实感渲染已经被广泛地应用在游戏制作、电影特效制作、虚拟现实展示、文化遗产交互导览等领域。高真实感渲染需要很强的计算能力,随着三维场景或者模型的复杂度的提高,极大增加了场景渲染的计算量及计算复杂度。
由于计算量及计算复杂度的增加,导致在进行场景渲染时,很难达到实时的渲染速度,当需要快速呈现渲染后的场景时,会出现一些不连续或卡顿的情况,导致难以呈现快到看起来逼真的动画,从而无法满足实时的应用要求。
发明内容
本申请的目的旨在至少能解决上述的技术缺陷之一,特提出以下技术方案:
第一方面,提供了一种场景渲染方法,包括:
接收发送的渲染请求,并获取渲染请求中的待渲染场景;
对待渲染场景进行分析处理,得到相应的场景数据与灯光数据;
基于场景数据与灯光数据,通过光线跟踪算法确定待渲染场景的光照信息;
发送光照信息,以根据光照信息对待渲染场景进行渲染。
具体地,场景数据包括以下至少一项:
模型的形状;模型的尺寸;模型的位置;地形;植被;
灯光数据包括以下至少一项:灯光位置;灯光类型;灯光方向;灯光亮度;灯光照射范围。
进一步地,通过光线跟踪算法确定待渲染场景的光照信息,包括:
通过光线跟踪算法,对待渲染场景进行光照数据计算,得到待渲染场景的光照贴图与光照栅格;
其中,光照贴图为通过光线跟踪算法计算出的待渲染场景的纹理形式的光照数据;
光照栅格为通过光线跟踪算法计算出的待渲染场景的栅格形式的光照数据。
进一步地,基于WebSocket通信协议与编辑器引擎进行数据交互,编辑器引擎根据光照信息对待渲染场景进行渲染。
第二方面,提供了一种场景渲染方法,包括:
发送渲染请求,渲染请求中携带有待渲染场景;
接收针对渲染请求返回的通过光线跟踪算法确定出的待渲染场景的光照信息;
根据光照信息对待渲染场景进行渲染。
具体地,基于WebSocket通信协议与烘培服务器进行数据交互,烘培服务器通过光线跟踪算法,确定出待渲染场景的光照信息。
第三方面,提供了一种场景渲染装置,包括:
第一接收模块,用于接收渲染请求,并获取渲染请求中的待渲染场景;
处理模块,用于对待渲染场景进行分析处理,得到相应的场景数据与灯光数据;
确定模块,用于基于场景数据与灯光数据,通过光线跟踪算法确定待渲染场景的光照信息;
第一发送模块,用于发送光照信息,以根据光照信息对待渲染场景进行渲染。
具体地,场景数据包括以下至少一项:
模型的形状;模型的尺寸;模型的位置;地形;植被;
灯光数据包括以下至少一项:灯光位置;灯光类型;灯光方向;灯光亮度;灯光照射范围。
进一步地,确定模块具体用于通过光线跟踪算法,对待渲染场景进行光照数据计算,得到待渲染场景的光照贴图与光照栅格;
其中,光照贴图为通过光线跟踪算法计算出的待渲染场景的纹理形式的光照数据;
光照栅格为通过光线跟踪算法计算出的待渲染场景的栅格形式的光照数据。
进一步地,基于WebSocket通信协议与编辑器引擎进行数据交互,编辑器引擎根据光照信息对待渲染场景进行渲染。
第四方面,提供了一种场景渲染装置,包括:
第二发送模块,用于发送渲染请求,渲染请求中携带有待渲染场景;
第二接收模块,用于接收针对渲染请求返回的通过光线跟踪算法确定出的待渲染场景的光照信息;
渲染模块,用于根据光照信息对待渲染场景进行渲染。
具体地,基于WebSocket通信协议与烘培服务器进行数据交互,烘培服务器通过光线跟踪算法,确定出待渲染场景的光照信息。
第五方面,提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行程序时实现上述的场景渲染方法。
第六方面,提供了一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,该程序被处理器执行时实现上述的场景渲染方法。
本申请一个实施例提供的场景渲染方法,基于获取到的充当客户端角色的编辑器引擎发送的待渲染场景的场景数据与灯光数据,通过光线跟踪算法确定待渲染场景的光照信息,使得可以通过具有很强的计算能力的烘培服务器,快速、实时地计算出待渲染场景的光照信息,从而快速提供渲染所需的光照信息,保障了后续渲染速度的提高以及渲染的实时性,通过向编辑器引擎发送光照信息,使得编辑器引擎能够根据光照信息对待渲染场景进行实时渲染与更新,从而产生更好的渲染效果,极大提升整个场景画面的层次感与质感。
本申请又一实施例提供的场景渲染方法,通过充当客户端角色的编辑器引擎向烘培服务器发送待渲染场景,使得能够通过烘培服务器快速、实时地计算出待渲染场景的光照信息,保障后续渲染速度的提高以及渲染的实时性;根据烘培服务器返回的通过光线跟踪算法确定出的待渲染场景的光照信息,对待渲染场景进行渲染,从而能够产生更好的渲染效果,极大提升整个场景画面的层次感与质感。
本申请附加的方面和优点将在下面的描述中部分给出,这些将从下面的描述中变得明显,或通过本申请的实践了解到。
附图说明
本申请上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
图1为本申请一个实施例的场景渲染方法的流程示意图;
图2为本申请一个实施例的场景渲染中光栅器的示意图;
图3为本申请一个实施例的场景渲染中光线跟踪的过程的示意图;
图4为本申请又一实施例的场景渲染方法的流程示意图;
图5为本申请又一实施例的完整场景渲染的交互过程示意图;
图6为本申请另一实施例的场景渲染装置的基本结构示意图;
图7为本申请再一实施例的场景渲染装置的基本结构示意图;
图8为本申请实施例的电子设备的结构示意图。
具体实施方式
下面详细描述本申请的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本申请,而不能解释为对本申请的限制。
本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本申请的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。应该理解,当我们称元件被“连接”或“耦接”到另一元件时,它可以直接连接或耦接到其他元件,或者也可以存在中间元件。此外,这里使用的“连接”或“耦接”可以包括无线连接或无线耦接。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的全部或任一单元和全部组合。
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
下面以具体地实施例对本申请的技术方案以及本申请的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本申请的实施例进行描述。
实施例一
本申请实施例提供了一种场景渲染方法,如图1所示,包括:
步骤S110,接收渲染请求,并获取渲染请求中的待渲染场景。
具体地,游戏制作、电脑3D动画、电影特效制作等的图像或视频信息,为提高场景或画面的层次感与质感,需要通过编辑器引擎基于相应的光照信息对所涉及到的场景或画面进行渲染,其中,通常由烘培工具提供所需的光照信息。
进一步地,由于编辑器引擎是采用JavaScript编程语言编写的,而烘培工具是采用C++编程语言在原生平台实现的,因此,编辑器引擎与烘培工具之间不能很好的进行交互。基于此,本申请实施例采用客户端-服务器的交互模式,来通过烘培工具快速、便捷地为编辑器引擎提供场景渲染时所需要的光照信息。其中,在客户端-服务器的交互模式中,编辑器引擎充当客户端角色,烘培工具充当服务器角色,为方便后续将烘培工具记作烘培服务器。
进一步地,在客户端-服务器的交互模式中,上述的渲染请求是由编辑器引擎发送的,即编辑器引擎向烘培服务器发送携带待渲染场景的渲染请求,以请求烘培服务器提供该待渲染场景所需要的光照信息。相应地,烘培服务器接收编辑器引擎发送的渲染请求,并获取该渲染请求中携带的待渲染场景。
步骤S120,对待渲染场景进行分析处理,得到相应的场景数据与灯光数据。
具体地,烘培服务器接收到编辑器引擎发送的渲染请求中,对该渲染请求中包括的待渲染场景进行分析处理,得到相应的场景数据与灯光数据。在对待渲染场景进行分析处理后,可以根据得到的场景数据与灯光数据,将待渲染场景还原出来,从而得到烘培服务器端的待渲染场景,为后续确定待渲染场景的光照信息提供必要保障。
步骤S130,基于场景数据与灯光数据,通过光线跟踪算法确定待渲染场景的光照信息。
具体地,烘培服务器得到待渲染场景的场景数据与灯光数据后,基于该场景数据与灯光数据,确定出待渲染场景所需的光照信息。其中,烘培服务器可以基于该场景数据与灯光数据,通过光线跟踪算法,确定待渲染场景所需的光照信息。
步骤S140,发送光照信息,以根据光照信息对待渲染场景进行渲染。
具体地,烘培服务器确定出待渲染场景所需的光照信息后,将该确定出的光照信息返回给编辑器引擎,即向编辑器引擎发送光照信息,以使得编辑器引擎根据该接收到的光照信息对待渲染场景进行渲染,从而得到更好的渲染效果,极大提升整个场景画面的层次感与质感。
本申请实施例提供的场景渲染方法,基于获取到的编辑器引擎发送的待渲染场景的场景数据与灯光数据,通过光线跟踪算法确定待渲染场景的光照信息,使得可以通过具有很强的计算能力的烘培服务器,快速、实时地计算出待渲染场景的光照信息,从而快速提供渲染所需的光照信息,保障了后续渲染速度的提高以及渲染的实时性,通过向编辑器引擎发送光照信息,使得编辑器引擎能够根据光照信息对待渲染场景进行实时渲染与更新,从而产生更好的渲染效果,极大提升整个场景画面的层次感与质感。
本申请实施例提供了另一种可能的实现方式,其中,基于WebSocket通信协议与编辑器引擎进行数据交互,编辑器引擎根据光照信息对待渲染场景进行渲染。
具体地,场景数据包括以下至少一项:模型的形状;模型的尺寸;模型的位置;地形;植被。
灯光数据包括以下至少一项:灯光位置;灯光类型;灯光方向;灯光亮度;灯光照射范围。
具体地,通过光线跟踪算法确定待渲染场景的光照信息,包括:通过光线跟踪算法,对待渲染场景进行光照数据计算,得到待渲染场景的光照贴图与光照栅格;其中,光照贴图为通过光线跟踪算法计算出的待渲染场景的纹理形式的光照数据;光照栅格为通过光线跟踪算法计算出的待渲染场景的栅格形式的光照数据。
下面对本实施方式中涉及到的相关内容进行详细介绍:
具体地,编辑器引擎与烘培服务器之间,通过具体的网络进行数据传输,例如待渲染场景的传输、光照信息的传输。其中,编辑器引擎与烘培服务器之间,可以采用基于WebSocket的通信协议进行数据传输,WebSocket是一种在单个TCP(Transmission ControlProtocol,传输控制协议)连接上进行全双工通信的协议。
具体地,待渲染场景的场景数据包括模型的形状、模型的尺寸、模型的位置、地形及植被等中的一项或多项。当待渲染场景中包括多个模型时,场景数据包括各个模型分别对应的形状、尺寸及位置等。其中,模型为待渲染场景内的场景、角色和道具等等,按照预定比例制作设计成的物体,是设计师为待渲染场景打造的场景动画模型。
同时,待渲染场景的灯光数据包括灯光位置、灯光类型、灯光方向、灯光亮度及灯光照射范围中的一项或多项。其中,灯光类型用于指示灯光为环境光或平行光或点源光等。
具体地,烘培服务器通过光线跟踪算法确定待渲染场景的光照贴图与光照栅格等光照信息时,可以通过其包括的光栅器,根据光线跟踪算法,对待渲染场景进行光照数据计算,得到待渲染场景的光照贴图与光照栅格。其中,光照贴图是通过光线跟踪算法计算出的待渲染场景的纹理形式的光照数据,光照栅格是通过光线跟踪算法计算出的待渲染场景的栅格形式的光照数据。
进一步地,光栅器具体可以包括软件光栅与硬件光栅,如图2所示。软件光栅虽然在计算过程中存在不精确、容易出现锯齿等问题,但是实现简单;硬件光栅通常使用GL(Graphics Library,图形库)或DX(DirectX),虽然计算速度快,但是实现比较复杂、计算量大。其中,本申请实施例采用的是软件光栅方式。此外,图2中的G-buffer是指几何缓冲,区别于普通的仅将颜色渲染到纹理中,G-Buffer指包含颜色、法线、世界空间坐标的缓冲区,亦即指包含颜色、法线、世界空间坐标的纹理。由于G-Buffer需要的向量长度超出通常纹理能包含的向量的长度,通常在游戏开发中,使用多渲染目标技术来生成G-Buffer,即在一次绘制中将颜色、法线、世界空间坐标分别渲染到三张浮点纹理中。
进一步地,光线跟踪技术跟踪表现类似于光线的假想光线到要呈现在计算机屏幕上的三维场景的传播。光线源自坐在计算机屏幕后面的观看者的眼睛,穿过构成计算机屏幕的像素,朝三维场景而去。每条跟踪光线都通向场景,可以与场景内的物体相交。如果光线与场景内的物体相交,将物体的特征和其它几种有影响的因素用于计算光线所暴露于的颜色和光量,或颜色或光的不足,然后将这些计算用于确定跟踪光线经过的像素的最终颜色。
下面,通过图3所示的由两个透明球和一个非透明物体组成的场景,对光线跟踪算法进行介绍。在图3所示的场景中,有一个点光源L,两个透明的球体O1与O2,一个不透明的物体O3。首先,从视点出发经过视屏一个像素点的视线E传播到达球体O1,与其交点为P1。从P1向光源L作一条阴影测试线S1,可以发现其间没有遮挡的物体,那么就用局部光照明模型计算光源对P1在其视线E的方向上的光强,作为该点的局部光强。同时还要跟踪该点处反射光线R1和折射光线T1,它们也对P1点的光强有贡献。在反射光线R1方向上,没有再与其他物体相交,那么就设该方向的光强为零,并结束这光线方向的跟踪。接着对折射光线T1方向进行跟踪,计算该光线的光强贡献,其中,折射光线T1在物体O1内部传播,与O1相交于点P2,由于该点在物体内部,可以假设它的局部光强为零,同时,产生了反射光线R2和折射光线T2,在反射光线R2方向,可以继续递归跟踪下去计算它的光强。接着继续对折射光线T2进行跟踪,T2与物体O3交于点P3,作P3与光源L的阴影测试线S3,此时没有物体遮挡,可以计算该处的局部光强,由于该物体是非透明的,可以继续跟踪反射光线R3方向的光强,同时结合局部光强,可以得到P3处的光强。反射光线R3的跟踪与前面的过程类似,算法可以递归的进行下去,重复上面的过程,直到光线满足跟踪终止条件,从而得到视屏上的一个象素点的光强,也就是它相应的颜色值。
通过上面的光线跟踪算法的基本过程,可以看出,光线跟踪算法实际上是光照明物理过程的近似逆过程,这一过程可以跟踪物体间的镜面反射光线和规则透射,模拟了理想表面的光的传播。虽然在理想情况下,光线可以在物体之间进行无限的反射和折射,但是在实际的算法进行过程中,不可能进行无穷的光线跟踪,因而需要给出一些跟踪的终止条件。其中,在算法应用的意义上,可以有以下的几种终止条件:
■光线未碰到任何物体;
■光线碰到了背景;
■光线在经过多次反射和折射以后,就会产生衰减,光线对于视点的光强贡献很小,例如小于某个设定值;
■光线反射或折射次数(即跟踪深度)大于预定值。
对于本实现方式,通过光线跟踪模拟了光在真实世界环境中如何进行和表现,从而使得呈现的图形在显示器上更多准确地描绘了人类眼睛在真实世界中习惯看到的样子。
实施例二
本申请实施例提供了一种场景渲染方法,如图4所示,包括:
步骤S410,向发送渲染请求,渲染请求中携带有待渲染场景。
具体地,游戏制作、电脑3D动画、电影特效制作等的图像或视频信息,为提高场景或画面的层次感与质感,需要通过编辑器引擎基于相应的光照信息对所涉及到的场景或画面进行渲染,其中,通常由烘培工具提供所需的光照信息。
进一步地,由于编辑器引擎是采用JavaScript编程语言编写的,而烘培工具是采用C++编程语言在原生平台实现的,因此,编辑器引擎与烘培工具之间不能很好的进行交互。基于此,本申请实施例采用客户端-服务器的交互模式,来通过烘培工具快速、便捷地为编辑器引擎提供场景渲染时所需要的光照信息。其中,编辑器引擎充当客户端角色,烘培工具充当服务器角色,为方便后续将其记作烘培服务器。
进一步地,在客户端-服务器的交互模式中,编辑器引擎向烘培服务器发送包括待渲染场景的渲染请求,以请求烘培服务器提供待渲染场景所需要的光照信息。
步骤S420,接收针对渲染请求返回的通过光线跟踪算法确定出的待渲染场景的光照信息。
具体地,烘培服务器确定出待渲染场景所需的光照信息后,将该确定出的光照信息返回给编辑器引擎,即向编辑器引擎发送光照信息。相应地,编辑器引擎接收烘培服务器针对渲染请求返回的通过光线跟踪算法确定出的待渲染场景的光照信息。
步骤S430,根据光照信息对待渲染场景进行渲染。
具体地,编辑器引擎接收到烘培服务器针对上述的渲染请求返回的光照信息后,根据该光照信息对当前待渲染场景进行渲染,从而得到更好的渲染效果,极大提升整个场景画面的层次感与质感。
本申请实施例提供的场景渲染方法,通过发送待渲染场景,使得能够通过烘培服务器快速、实时地计算出待渲染场景的光照信息,保障后续渲染速度的提高以及渲染的实时性;根据烘培服务器返回的通过光线跟踪算法确定出的待渲染场景的光照信息,对待渲染场景进行渲染,从而能够产生更好的渲染效果,极大提升整个场景画面的层次感与质感。
具体地,本申请实施例在编辑器引擎与烘培服务器之间,通过具体的网络进行数据传输,例如待渲染场景的传输、光照信息的传输。其中,编辑器引擎与烘培服务器之间,可以采用基于WebSocket的通信协议进行数据传输,WebSocket是一种在单个TCP(Transmission Control Protocol,传输控制协议)连接上进行全双工通信的协议。
进一步地,图5给出了编辑器引擎与烘培服务器之间的交互过程,在图5中,编辑器引擎基于WebSocket通信协议向烘培服务器发送携带待渲染场景的渲染请求;接着,烘培服务器对待渲染场景进行分析处理,得到该待渲染场景的场景数据与灯光数据,并基于得到的场景数据与灯光数据初始化该待渲染场景,初始化该待渲染场景相当于将编辑器引擎端的待渲染场景还原为烘培服务器端的待渲染场景,从而便于后续计算该待渲染场景所需的光照信息;接着,烘培服务器初始化线程池中的空闲线程并启动待渲染场景的光照信息的计算过程;接着,烘培服务器为线程池中的各个空闲线程分配相应的光照信息的计算任务,即将整个计算过程拆分为各个计算子任务,并为每个空闲线程分配相应的计算子任务,使得各个线程并行进行光照信息的计算,极大提高计算效率;接着,烘培服务器将各个线程计算得到的光照信息进行打包,得到整个待渲染场景的光照信息;接着烘培服务器向编辑器引擎发送计算得到的光照信息;接着,编辑器引擎根据接收到的光照信息对待渲染场景进行渲染。
其中,上述的线程池是一种多线程使用模式,它维护着多个线程,等待着监督管理者分配可并发执行的任务,这避免了在处理短时间任务时创建与销毁线程的代价,从而不仅能够保证内核的充分利用,还能防止过分调度。线程池中的各个线程都是后台线程,每个线程都使用默认的堆栈大小,以默认的优先级运行。线程(thread)是操作系统能够进行运算调度的最小单位。空闲线程为线程池中当前没有执行处理任务、处于空闲状态的线程。
本申请实施例,编辑器引擎根据接收到的光照信息,对待渲染场景进行渲染,能够产生更好的渲染效果,极大提升整个场景画面的层次感与质感。
实施例三
图6为本申请另一实施例提供的一种场景渲染装置的结构示意图,如图6所示,该装置60可以包括第一接收模块61、处理模块62、确定模块63与第一发送模块64;其中:
第一接收模块61用于接收渲染请求,并获取渲染请求中的待渲染场景;
处理模块62用于对待渲染场景进行分析处理,得到相应的场景数据与灯光数据;
确定模块63用于基于场景数据与灯光数据,通过光线跟踪算法确定待渲染场景的光照信息;
第一发送模块64用于发送光照信息,以根据光照信息对待渲染场景进行渲染。
具体地,场景数据包括以下至少一项:
模型的形状;模型的尺寸;模型的位置;地形;植被;
灯光数据包括以下至少一项:灯光位置;灯光类型;灯光方向;灯光亮度;灯光照射范围。
进一步地,确定模块63具体用于通过光线跟踪算法,对待渲染场景进行光照数据计算,得到待渲染场景的光照贴图与光照栅格;
其中,光照贴图为通过光线跟踪算法计算出的待渲染场景的纹理形式的光照数据;
光照栅格为通过光线跟踪算法计算出的待渲染场景的栅格形式的光照数据。
进一步地,基于WebSocket通信协议与编辑器引擎进行数据交互,编辑器引擎根据光照信息对待渲染场景进行渲染。
本申请实施例提供的装置,基于获取到的编辑器引擎发送的待渲染场景的场景数据与灯光数据,通过光线跟踪算法确定待渲染场景的光照信息,使得可以通过具有很强的计算能力的烘培服务器,快速、实时地计算出待渲染场景的光照信息,从而快速提供渲染所需的光照信息,保障了后续渲染速度的提高以及渲染的实时性,通过发送光照信息,使得编辑器引擎能够根据光照信息对待渲染场景进行实时渲染与更新,从而产生更好的渲染效果,极大提升整个场景画面的层次感与质感。
实施例四
图7为本申请另一实施例提供的一种场景渲染装置的结构示意图,如图7所示,该装置70可以包括第二发送模块71、第二接收模块72与渲染模块73;其中:
第二发送模块71用于发送渲染请求,渲染请求中携带有待渲染场景;
第二接收模块72用于接收针对渲染请求返回的通过光线跟踪算法确定出的待渲染场景的光照信息;
渲染模块73用于根据光照信息对待渲染场景进行渲染。
具体地,基于WebSocket通信协议与编辑器引擎进行数据交互。
本申请实施例提供的装置,通过充当客户端角色的编辑器引擎向烘培服务器发送待渲染场景,使得能够通过烘培服务器快速、实时地计算出待渲染场景的光照信息,保障后续渲染速度的提高以及渲染的实时性;根据烘培服务器返回的通过光线跟踪算法确定出的待渲染场景的光照信息,对待渲染场景进行渲染,从而能够产生更好的渲染效果,极大提升整个场景画面的层次感与质感。
实施例五
本申请实施例提供了一种电子设备,如图8所示,图8所示的电子设备800包括:处理器801和存储器803。其中,处理器801和存储器803相连,如通过总线802相连。进一步地,电子设备800还可以包括收发器804。需要说明的是,实际应用中收发器804不限于一个,该电子设备800的结构并不构成对本申请实施例的限定。
其中,处理器801应用于本申请实施例中,用于实现图6所示的第一接收模块、处理模块、确定模块及第一发送模块的功能,或者用于实现图7所示的第二发送模块、第二接收模块及渲染模块的功能。
处理器801可以是CPU,通用处理器,DSP,ASIC,FPGA或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本申请公开内容所描述的各种示例性的逻辑方框,模块和电路。处理器801也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,DSP和微处理器的组合等。
总线802可包括一通路,在上述组件之间传送信息。总线802可以是PCI总线或EISA总线等。总线802可以分为地址总线、数据总线、控制总线等。为便于表示,图8中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
存储器803可以是ROM或可存储静态信息和指令的其他类型的静态存储设备,RAM或者可存储信息和指令的其他类型的动态存储设备,也可以是EEPROM、CD-ROM或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。
存储器803用于存储执行本申请方案的应用程序代码,并由处理器801来控制执行。处理器801用于执行存储器803中存储的应用程序代码,以实现图6或图7所示实施例提供的场景渲染装置的动作。
本申请实施例提供的电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行程序时,可实现:基于获取到的充当客户端角色的编辑器引擎发送的待渲染场景的场景数据与灯光数据,通过光线跟踪算法确定待渲染场景的光照信息,使得可以通过具有很强的计算能力的烘培服务器,快速、实时地计算出待渲染场景的光照信息,从而快速提供渲染所需的光照信息,保障了后续渲染速度的提高以及渲染的实时性,通过向编辑器引擎发送光照信息,使得编辑器引擎能够根据光照信息对待渲染场景进行实时渲染与更新,从而产生更好的渲染效果,极大提升整个场景画面的层次感与质感。
本申请实施例提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该程序被处理器执行时实现实施例一或实施例二所示的方法。其中:基于获取到的充当客户端角色的编辑器引擎发送的待渲染场景的场景数据与灯光数据,通过光线跟踪算法确定待渲染场景的光照信息,使得可以通过具有很强的计算能力的烘培服务器,快速、实时地计算出待渲染场景的光照信息,从而快速提供渲染所需的光照信息,保障了后续渲染速度的提高以及渲染的实时性,通过向编辑器引擎发送光照信息,使得编辑器引擎能够根据光照信息对待渲染场景进行实时渲染与更新,从而产生更好的渲染效果,极大提升整个场景画面的层次感与质感。
本申请实施例提供的计算机可读存储介质适用于上述方法的任一实施例。在此不再赘述。
应该理解的是,虽然附图的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,其可以以其他的顺序执行。而且,附图的流程图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,其执行顺序也不必然是依次进行,而是可以与其他步骤或者其他步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
以上所述仅是本申请的部分实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本申请的保护范围。
Claims (10)
1.一种场景渲染方法,其特征在于,包括:
接收渲染请求,并获取所述渲染请求中的待渲染场景;
对所述待渲染场景进行分析处理,得到相应的场景数据与灯光数据;
基于所述场景数据与所述灯光数据,通过光线跟踪算法确定所述待渲染场景的光照信息;
发送所述光照信息,以根据所述光照信息对所述待渲染场景进行渲染。
2.根据权利要求1所述的方法,其特征在于,所述场景数据包括以下至少一项:
模型的形状;模型的尺寸;模型的位置;地形;植被;
所述灯光数据包括以下至少一项:灯光位置;灯光类型;灯光方向;灯光亮度;灯光照射范围。
3.根据权利要求1所述的方法,其特征在于,所述通过光线跟踪算法确定所述待渲染场景的光照信息,包括:
通过光线跟踪算法,对所述待渲染场景进行光照数据计算,得到所述待渲染场景的光照贴图与光照栅格;
其中,光照贴图为通过光线跟踪算法计算出的所述待渲染场景的纹理形式的光照数据;
光照栅格为通过光线跟踪算法计算出的所述待渲染场景的栅格形式的光照数据。
4.根据权利要求1-3任一项所述的方法,其特征在于,基于WebSocket通信协议与编辑器引擎进行数据交互,所述编辑器引擎根据所述光照信息对所述待渲染场景进行渲染。
5.一种场景渲染方法,其特征在于,包括:
发送渲染请求,所述渲染请求中携带有待渲染场景;
接收针对所述渲染请求返回的通过光线跟踪算法确定出的所述待渲染场景的光照信息;
根据所述光照信息对所述待渲染场景进行渲染。
6.根据权利要求5所述的方法,其特征在于,基于WebSocket通信协议与烘培服务器进行数据交互,所述烘培服务器通过光线跟踪算法,确定出所述待渲染场景的光照信息。
7.一种场景渲染装置,其特征在于,包括:
第一接收模块,用于接收渲染请求,并获取所述渲染请求中的待渲染场景;
处理模块,用于对所述待渲染场景进行分析处理,得到相应的场景数据与灯光数据;
确定模块,用于基于所述场景数据与所述灯光数据,通过光线跟踪算法确定所述待渲染场景的光照信息;
第一发送模块,用于发送所述光照信息,以根据所述光照信息对所述待渲染场景进行渲染。
8.一种场景渲染装置,其特征在于,包括:
第二发送模块,用于发送渲染请求,所述渲染请求中携带有待渲染场景;
第二接收模块,用于接收针对所述渲染请求返回的通过光线跟踪算法确定出的所述待渲染场景的光照信息;
渲染模块,用于根据所述光照信息对所述待渲染场景进行渲染。
9.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现权利要求1-6任一项所述的场景渲染方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,该程序被处理器执行时实现权利要求1-6任一项所述的场景渲染方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910222778.XA CN111739142A (zh) | 2019-03-22 | 2019-03-22 | 场景渲染方法、装置、电子设备及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910222778.XA CN111739142A (zh) | 2019-03-22 | 2019-03-22 | 场景渲染方法、装置、电子设备及计算机可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111739142A true CN111739142A (zh) | 2020-10-02 |
Family
ID=72645640
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910222778.XA Pending CN111739142A (zh) | 2019-03-22 | 2019-03-22 | 场景渲染方法、装置、电子设备及计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111739142A (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112546626A (zh) * | 2020-12-09 | 2021-03-26 | 杭州电魂网络科技股份有限公司 | 结合灯光的物体显示方法、装置、电子设备和存储介质 |
CN112957731A (zh) * | 2021-03-26 | 2021-06-15 | 深圳市凉屋游戏科技有限公司 | 画面渲染方法、画面渲染装置及存储介质 |
CN113079409A (zh) * | 2021-03-26 | 2021-07-06 | 深圳市凉屋游戏科技有限公司 | 画面渲染方法及画面渲染装置 |
CN113160358A (zh) * | 2021-05-21 | 2021-07-23 | 上海随幻智能科技有限公司 | 一种无绿幕抠图渲染方法 |
CN113658311A (zh) * | 2021-08-09 | 2021-11-16 | 力合科技(湖南)股份有限公司 | 水质动态渲染方法及系统、设备、计算机可读取的存储介质 |
CN113648655A (zh) * | 2021-07-21 | 2021-11-16 | 网易(杭州)网络有限公司 | 虚拟模型的渲染方法、装置、存储介质和电子设备 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130085774A1 (en) * | 2011-10-04 | 2013-04-04 | Yuanming Chen | Semi-automated or fully automated, network and/or web-based, 3d and/or 4d imaging of anatomy for training, rehearsing and/or conducting medical procedures, using multiple standard x-ray and/or other imaging projections, without a need for special hardware and/or systems and/or pre-processing/analysis of a captured image data |
CN105263050A (zh) * | 2015-11-04 | 2016-01-20 | 山东大学 | 基于云平台的移动终端实时渲染系统及其方法 |
CN105321201A (zh) * | 2015-11-26 | 2016-02-10 | 郭小虎 | 基于云端光照烘焙的移动端3d实时渲染方法及系统 |
CN107909641A (zh) * | 2017-10-26 | 2018-04-13 | 广州市雷军游乐设备有限公司 | 一种烘焙渲染方法、装置、终端设备及存储介质 |
CN108235053A (zh) * | 2016-12-19 | 2018-06-29 | 中国电信股份有限公司 | 交互式渲染方法、设备和系统 |
-
2019
- 2019-03-22 CN CN201910222778.XA patent/CN111739142A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130085774A1 (en) * | 2011-10-04 | 2013-04-04 | Yuanming Chen | Semi-automated or fully automated, network and/or web-based, 3d and/or 4d imaging of anatomy for training, rehearsing and/or conducting medical procedures, using multiple standard x-ray and/or other imaging projections, without a need for special hardware and/or systems and/or pre-processing/analysis of a captured image data |
CN105263050A (zh) * | 2015-11-04 | 2016-01-20 | 山东大学 | 基于云平台的移动终端实时渲染系统及其方法 |
CN105321201A (zh) * | 2015-11-26 | 2016-02-10 | 郭小虎 | 基于云端光照烘焙的移动端3d实时渲染方法及系统 |
CN108235053A (zh) * | 2016-12-19 | 2018-06-29 | 中国电信股份有限公司 | 交互式渲染方法、设备和系统 |
CN107909641A (zh) * | 2017-10-26 | 2018-04-13 | 广州市雷军游乐设备有限公司 | 一种烘焙渲染方法、装置、终端设备及存储介质 |
Non-Patent Citations (1)
Title |
---|
刘真, 中国电力出版社 * |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112546626A (zh) * | 2020-12-09 | 2021-03-26 | 杭州电魂网络科技股份有限公司 | 结合灯光的物体显示方法、装置、电子设备和存储介质 |
CN112546626B (zh) * | 2020-12-09 | 2024-03-26 | 杭州电魂网络科技股份有限公司 | 结合灯光的物体显示方法、装置、电子设备和存储介质 |
CN112957731A (zh) * | 2021-03-26 | 2021-06-15 | 深圳市凉屋游戏科技有限公司 | 画面渲染方法、画面渲染装置及存储介质 |
CN113079409A (zh) * | 2021-03-26 | 2021-07-06 | 深圳市凉屋游戏科技有限公司 | 画面渲染方法及画面渲染装置 |
CN112957731B (zh) * | 2021-03-26 | 2021-11-26 | 深圳市凉屋游戏科技有限公司 | 画面渲染方法、画面渲染装置及存储介质 |
CN113160358A (zh) * | 2021-05-21 | 2021-07-23 | 上海随幻智能科技有限公司 | 一种无绿幕抠图渲染方法 |
CN113648655A (zh) * | 2021-07-21 | 2021-11-16 | 网易(杭州)网络有限公司 | 虚拟模型的渲染方法、装置、存储介质和电子设备 |
CN113658311A (zh) * | 2021-08-09 | 2021-11-16 | 力合科技(湖南)股份有限公司 | 水质动态渲染方法及系统、设备、计算机可读取的存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111739142A (zh) | 场景渲染方法、装置、电子设备及计算机可读存储介质 | |
US11302058B2 (en) | System for non-planar specular reflections in hybrid ray tracing | |
EP2076888B1 (en) | Pixel color determination in a ray tracing image processing system | |
US7940265B2 (en) | Multiple spacial indexes for dynamic scene management in graphics rendering | |
US7893936B2 (en) | Generating efficient spatial indexes for predictably dynamic objects | |
US8243081B2 (en) | Methods and systems for partitioning a spatial index | |
US7737974B2 (en) | Reallocation of spatial index traversal between processing elements in response to changes in ray tracing graphics workload | |
US20080122838A1 (en) | Methods and Systems for Referencing a Primitive Located in a Spatial Index and in a Scene Index | |
CN113808245B (zh) | 用于遍历光线追踪加速结构的增强技术 | |
CN114820906B (zh) | 图像渲染方法、装置、电子设备及存储介质 | |
CN113808244B (zh) | 支持运动模糊和运动/变形几何形状的光线追踪硬件加速 | |
CN112184873B (zh) | 分形图形创建方法、装置、电子设备和存储介质 | |
US8878849B2 (en) | Horizon split ambient occlusion | |
US20230230311A1 (en) | Rendering Method and Apparatus, and Device | |
CN116958390A (zh) | 一种图像渲染方法、装置、设备、存储介质及程序产品 | |
Chen et al. | A real-time parallel ray-tracing method based on GPU cluster | |
CN115908683A (zh) | 一种图像渲染方法及其相关设备 | |
De Melo Aroxa | Efficient Ray Tracing For Mobile Devices | |
JPH02112079A (ja) | 画像生成方法 | |
KR20080077748A (ko) | 컴퓨터 그래픽 시스템에서의 동영상의 반사 효과 처리 방법 |
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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20201002 |
|
RJ01 | Rejection of invention patent application after publication |