CN115546389A - 软阴影生成方法、装置、设备及存储介质 - Google Patents
软阴影生成方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN115546389A CN115546389A CN202211229765.3A CN202211229765A CN115546389A CN 115546389 A CN115546389 A CN 115546389A CN 202211229765 A CN202211229765 A CN 202211229765A CN 115546389 A CN115546389 A CN 115546389A
- Authority
- CN
- China
- Prior art keywords
- light source
- information
- pixel point
- rendering pixel
- shielding
- 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
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/50—Lighting effects
- G06T15/506—Illumination models
-
- 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/60—Shadow generation
Landscapes
- Engineering & Computer Science (AREA)
- Computer Graphics (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Image Generation (AREA)
Abstract
本发明实施例提供了软阴影生成方法、装置、设备及存储介质,所述方法包括:响应对游戏的加载指令,获取基于虚拟场景中光源的光源信息和虚拟场景的遮挡信息;在游戏运行的过程中,根据光源信息确定虚拟场景中需要进行光照渲染的目标渲染像素点;根据遮挡信息和光源信息,确定目标渲染像素点的有向距离;基于目标渲染像素点的有向距离,确定光源对目标渲染像素点的光照强度占比信息;光照强度占比信息用于指示光源对渲染像素点的阴影生成的影响程度。通过基于有向距离确定的光照强度占比信息知晓光源对渲染像素点的阴影生成的影响程度,进而知晓光源对在虚拟场景中需要光照渲染的渲染像素点的光照百分比的影响,支持软阴影效果的产生。
Description
技术领域
本发明涉及渲染技术领域,特别是涉及一种软阴影生成方法、一种软阴影生成装置、相应的一种电子设备以及相应的一种计算机存储介质。
背景技术
虚拟场景内的光源在无遮挡的情况下照亮周围物体,光源在被遮挡的情况下则需要生成阴影,为了增加阴影的真实性,所生成的阴影通常采用具有渐变过渡的软阴影。
在阴影生成的相关技术中,大多在CPU(Central Processing Unit,中央处理器)中进行光照区域的计算,并将会把计算出的光照区域单独放在一个纹理Render Texture内,以便光照区域基于此纹理参与后续的光照计算,生成虚拟场景中所需的阴影。但这种CPU生成阴影的方式,在每帧光源与遮挡位置发生相对变化时,纹理中所存储的光照区域需要重新计算,不容易支持软阴影。
发明内容
鉴于上述问题,提出了本发明实施例以便提供一种克服上述问题或者至少部分的解决上述问题的一种软阴影生成方法、一种软阴影生成装置、相应的一种电子设备以及相应的一种计算机存储介质。
本发明实施例公开了一种软阴影生成方法,所述方法包括:
响应对游戏的加载指令,获取基于虚拟场景中光源的光源信息和虚拟场景的遮挡信息;
在游戏运行的过程中,根据所述光源信息确定所述虚拟场景中需要进行光照渲染的目标渲染像素点;
根据所述遮挡信息和所述光源信息,确定所述目标渲染像素点的有向距离;
基于所述目标渲染像素点的有向距离,确定所述光源对所述目标渲染像素点的光照强度占比信息;所述光照强度占比信息用于指示所述光源对所述渲染像素点的阴影生成的影响程度。
本发明实施例还公开了一种软阴影生成装置,所述装置包括:
信息获取模块,用于响应对游戏的加载指令,获取基于虚拟场景中光源的光源信息和虚拟场景的遮挡信息;
渲染像素点获取模块,用于在游戏运行的过程中,根据所述光源信息确定所述虚拟场景中需要进行光照渲染的目标渲染像素点;
有向距离生成模块,用于根据所述遮挡信息和所述光源信息,确定所述目标渲染像素点的有向距离;
光照强度占比确定模块,用于基于所述目标渲染像素点的有向距离,确定所述光源对所述目标渲染像素点的光照强度占比信息;所述光照强度占比信息用于指示所述光源对所述渲染像素点的阴影生成的影响程度。
本发明实施例还公开了一种电子设备,包括:处理器、存储器及存储在所述存储器上并能够在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现任一项所述软阴影生成方法。
本发明实施例还公开了一种计算机可读存储介质,所述计算机可读存储介质上存储计算机程序,所述计算机程序被处理器执行时实现任一项所述软阴影生成方法。
本发明实施例包括以下优点:
在本发明实施例中,在游戏加载时可以获取虚拟场景的光源信息和遮挡信息,在游戏运行的过程中,能够基于光源信息确定虚拟场景中需要进行光照渲染的目标渲染像素点,以便根据遮挡信息和光源信息确定目标渲染像素点的有向距离,使得能够基于目标渲染像素点的有向距离确定光源对目标渲染像素点的光照强度占比信息,通过基于有向距离确定的光照强度占比信息知晓光源对渲染像素点的阴影生成的影响程度,进而知晓光源对在虚拟场景中需要光照渲染的渲染像素点的光照百分比的影响,支持软阴影效果的产生。
附图说明
图1是本发明的一种软阴影生成方法实施例的步骤流程图;
图2是本发明实施例提供的光源信息的定义示意图;
图3是本发明的另一种软阴影生成方法实施例的步骤流程图;
图4是本发明实施例提供的光照强度占比信息的生成示意图;
图5是本发明实施例提供的软阴影生成的应用场景示意图;
图6是本发明实施例提供的软阴影生成的过程示意图;
图7是本发明的一种软阴影生成装置实施例的结构框图。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
为便于本领域技术人员理解本申请,下面对本申请下述各实施例中涉及的术语或名词做出解释:
sdf:signed distance field(function)有向距离场,用于定义每个像素(体素)记录自己与距离自己最近物体之间的距离,如果在物体内,则距离为负,正好在物体边界上则为0。
AABB:Axis-aligned bounding boxes,AABB包围盒,被称为轴对其包围盒,指的是在游戏中,为了简化物体之间的碰撞检测运算,通常会对物体创建一个规则的几何外形将其包围。
在阴影生成的相关技术中,大多在CPU中进行光照区域的计算,并将会把计算出的光照区域单独放在一个纹理RenderTexture内,以便光照区域基于此纹理参与后续的光照计算,生成游戏场景中所需的阴影。
但这种生成阴影的方式在CPU中进行,由于CPU在处理其他逻辑的同时,还要负责处理光照区域的计算,其CPU处理的速度慢;且光照区域计算和数据关联性较大,当遮挡复杂时,将会进一步增加CPU的计算量,由于算法的复杂性出错的概率将会变高;以及,在每帧光源与遮挡位置发生相对变化时,纹理中所存储的光照区域需要重新计算,不容易支持软阴影。
本发明实施例的核心思想之一在于提出基于GPU(Graphic Processing Unit,图形处理器)所实现的快速的、稳定的、支持软阴影的方案,其主要可以在进行渲染时基于所获取的遮挡信息和光源信息对光源的光照区域进行计算,由于GPU在进行光照区域的计算的同时需要进行处理的逻辑较少,基于GPU所进行光照区域的计算操作能够提高对计算速度;且通过基于遮挡信息和光源信息确定目标渲染像素点的有向距离,进而确定光源对目标渲染像素点的光照强度占比信息的方式,由于有向距离的算法性质简单,无需考虑各种复杂情况,且基于sdf的性质,使得动静融合方便;以及通过基于有向距离确定的光照强度占比信息知晓光源对渲染像素点的阴影生成的影响程度,进而知晓光源对在虚拟场景中需要光照渲染的渲染像素点的光照百分比的影响,支持软阴影效果的产生。进一步地,在离线时对于静态遮挡物离线生成其对应的sdf静态贴图,而对于动态遮挡物,将动态遮挡物与相应的物理实体进行绑定,使得动静分离,进一步提高GPU对光照区域的计算速度。
参照图1,示出了本发明的一种软阴影生成方法实施例的步骤流程图,具体可以包括如下步骤:
步骤101,响应对游戏的加载指令,获取基于虚拟场景中光源的光源信息和虚拟场景的遮挡信息;
游戏中的虚拟场景可以由多个游戏内的单元性区域(即Room)组成,Room之间可以连通,但各个Room彼此独立,单个Room内通常可能存在具有多个遮挡物的情况,虚拟场景内的光源在无遮挡的情况下照亮周围物体,光源在被遮挡的情况下则需要生成阴影,为了增加阴影的真实性,所生成的阴影通常采用具有渐变过渡的软阴影。
那么,为了生成具有渐变过渡的软阴影,此时需要对虚拟场景中光源的光源信息和虚拟场景的遮挡信息进行获取。
其中,软阴影的产生是由于光源具有一定的面积,以使得在未被充分照射的地方产生半影区域,光源的光源信息为对光源进行定义的信息,其本质上是对光源的光照区域进行定义,例如如图2所示的线条A之上的区域可以是被光源充分照射的光照区,线条A与线条B之间可以是半影区,两条线条B以下可以是全影区。
在对光源进行定义时,除了对其光照区域进行定义之外,还可以对光源的参数,例如光源标识、相对偏移信息、各种角度、各种照射范围、光源半径、光照颜色、光照强度等进行定义。
具体地,光源标识(即ID)是光源的唯一标识,在虚拟场景中并不允许存在重复的光源标识,以便后续在针对各个光源进行渲染像素点的光照强度占比信息的计算时,能够基于光源标识进行遍历;光源的相对偏移信息(即offset)指的是光源附着在光源刚体的相对偏移信息,光源通常附着在刚体(即body,是物理引擎box2d里的定义)上,光源刚体在游戏场景的用户视觉上表现为物理实体,光源的相对偏移信息主要可用于确定光源的位置,其主要以body中心为准进行Offset的偏移,offset的格式通常可表现为x,y;光照颜色(即color)的格式可以表现为R,G,B,其每个分量的取值范围为0~255;光源半径(即radius),其不会直接体现在光照效果上,而是会影响开启遮挡时的半影区域大小,其中光源半径越大,表示此光源靠近遮挡时所产生的半影区域就越大,在对光源半径进行配置时,需要注意控制其半径大小防止光源进入遮挡范围,在本发明实施例中的遮挡范围可以指的是不要穿插到sdf的负数区域,即不要穿插到物体内,其取值通常大于0,单位可以为box2d物理世界单位;光照强度(即intensity)可以直接影响光照效果的强度,其取值通常大于0;微光强度(即Glimmer Intensity),可以表现为当光照区域被遮挡时,遮挡部分并不会同非光照区域表现一样,而是会产生微弱的光照,微光强度的值也会影响受光效果,其取值范围为0~1。
以及,如图2所示,光源的向上方向(即up),可以表现为当光源并非向所有方向照射时,可以以向上方向的反方向为中间照射方向,对其他照射方向按照(x,y)的格式进行定义,其不必标准化,示例性地,(0,1)可以用于定义向上的照射方向,(-1,0)可以用于定义向左的照射方向,(1,1)可以用于定义为右上的照射方向;Inner Angle指的是内部角度,在此内部角度之内的区域光照强度不衰减,且光照朝向平分此角,取值范围可以为0~360;Outer Angle指的是外部角度,在此角度内外之间的区域光照强度不衰减,在此角度之外的区域无光照,且光照朝向平分此角,取值为0~360,并且应当≥inner Angle;Inner Range指的是内部照射范围,在此照射范围之内的区域光照强度不衰减,其取值通常大于0,单位可以为box2d物理世界单位;Outer Range指的是外部照射范围,在此照射范围内外之间的区域光照强度不衰减,在此照射范围之外的区域无光照,其取值通常大于0,单位可以为box2d物理世界单位,且应当≥inner Range。
而虚拟场景通常可能存在多个遮挡物,在Room中的遮挡物大部分是静态的,但也存在少部分的动态遮挡物,所获取的遮挡信息可以包括与静态遮挡物相应的静态遮挡信息,和与动态遮挡物相应的动态遮挡信息。其中,静态遮挡物通常是静止不动的遮挡物,例如固定平台中静止的几何与场景摆设,和一些由策划人员配置或者标记的静止几何等,与静态遮挡物相应的静态遮挡信息可以离线生成,通常可以以Room为单位,对静态遮挡物生成sdf静态贴图作为静态遮挡信息,例如把一个Room内的几何按其相对位置转换成sdf贴图,贴图会映射到Room;动态遮挡物通常指的是移动的平台或其他可操作物体,目前支持一些基本图元,例如矩形、圆形等,与动态遮挡物相应的动态遮挡信息可以指的是动态位置和旋转信息等,其动态位置和旋转信息可能与动态遮挡物的图元有关,例如对矩形的描述包括其中心点与长宽,而对圆形的描述包括圆心与半径。
步骤102,在游戏运行的过程中,根据光源信息确定虚拟场景中需要进行光照渲染的目标渲染像素点;
软阴影的生成,主要是基于虚拟场景中光源对需要进行光照渲染的目标渲染像素点的光照强度的不同,即光照强度占比信息产生的,在获取用于确定光照强度占比信息的光源信息和遮挡信息后,还需要对虚拟场景中需要进行光照渲染的目标渲染像素点进行确定。
在实际应用中,在虚拟场景的当前视野内如果不存在任何光源,则无需对基于虚拟玩家视角的当前画面帧进行光照渲染处理,且不在光源半径内的渲染像素点也不需要进行光照渲染处理。
具体地,在确定目标渲染像素点时,首先可以确定光源的位置,其具体可采用光源附着在光源刚体的相对偏移信息进行确定,然后可以基于光源的位置信息生成针对光源的包围盒,以根据光源的包围盒确定目标画面帧,具体可表现为采用光源的包围盒获取虚拟场景中需要进行光照渲染的目标画面帧,并在所确定的需要进行光照渲染的目标画面帧中,确定处于光源半径的范围内的所有渲染像素点,均为需要进行光照渲染的目标渲染像素点。需要说明的是,由于所确定的目标渲染像素点为处于光源半径的范围内的所有渲染像素点,在后续进行有向距离的确定以及光照强度占比信息的计算时,不仅需要针对各个光源依次进行计算,同时还需要对受各个光源影响的目标渲染像素点进行计算。
步骤103,根据遮挡信息和光源信息,确定目标渲染像素点的有向距离;
在本发明实施例中,光源信息通常配置在虚拟场景中,在响应游戏的加载指令并对游戏进行运行的过程中,在对遮挡信息和光源信息进行读取并处理后,还可以传入着色器中进行光照与阴影运算。
具体地,在GPU实际进行光照区域的计算时,可以传入相关的sdf静态贴图与相关的动态遮挡描述,在实现动态遮挡信息与静态遮挡信息的融合后,采用基于sdf算法计算目标渲染像素点的光照与阴影。
在实际应用中,可以基于所传入的遮挡信息和光源信息,确定目标渲染像素点的有向距离,所确定的有向距离不仅与光源因素有关,还与遮挡物因素有关,能够客观评价光源对目标渲染像素点的光照强度的影响,进而影响阴影的产生效果。
步骤104,基于目标渲染像素点的有向距离,确定光源对目标渲染像素点的光照强度占比信息。
所确定的目标渲染像素点的有向距离,不仅与光源因素有关,还与遮挡物因素有关,此时可以基于目标渲染像素点的有向距离,确定光源对目标渲染像素点的光照强度占比信息。
其中,所确定的光照强度占比信息可以用于指示光源对渲染像素点的阴影生成的影响程度,基于有向距离确定的光照强度占比信息知晓光源对渲染像素点的阴影生成的影响程度,进而知晓光源对在虚拟场景中需要光照渲染的渲染像素点的光照百分比的影响,支持软阴影效果的产生。
在本发明实施例中,在游戏加载时可以获取虚拟场景的光源信息和遮挡信息,在游戏运行的过程中,能够基于光源信息确定虚拟场景中需要进行光照渲染的目标渲染像素点,以便根据遮挡信息和光源信息确定目标渲染像素点的有向距离,使得能够基于目标渲染像素点的有向距离确定光源对目标渲染像素点的光照强度占比信息,通过基于有向距离确定的光照强度占比信息知晓光源对渲染像素点的阴影生成的影响程度,进而知晓光源对在虚拟场景中需要光照渲染的渲染像素点的光照百分比的影响,支持软阴影效果的产生。
参照图3,示出了本发明的另一种软阴影生成方法实施例的步骤流程图,具体可以包括如下步骤:
步骤301,在游戏离线时,生成针对静态遮挡物的静态贴图,并将预先配置的光源信息和虚拟场景中的光源刚体进行绑定;
在游戏离线时,为了生成具有渐变过渡的软阴影,可以对虚拟场景中的光源进行配置,除了光源,也可以对遮挡信息进行配置。
对于静态遮挡信息的配置而言,静态遮挡物通常是静止不动的遮挡物,例如固定平台中静止的几何与场景摆设,和一些由策划人员配置或者标记的静止几何等,在进行配置时通常可以以Room为单位,将Room中所包含的静态遮挡物以sdf的形式烘焙至静态贴图中,作为静态遮挡信息,其中一个Room对应一张贴图,例如把一个Room内的几何按其相对位置转换成sdf贴图,贴图会映射到Room。在具体实现中,可以获取虚拟场景的单元性区域以及在各个单元性区域内的静态遮挡物,生成针对各个单元性区域内的静态遮挡物的采样网格,此采样网格指的是由到(多边形模型)物体表面最近距离的采样网格(即有向距离场sdf),然后将采样网格存储至相应的静态贴图,以便后续在响应对游戏的加载指令时,可通过静态贴图读取虚拟场景的遮挡信息。
对于动态遮挡信息的配置而言,动态遮挡物通常指的是移动的平台或其他可操作物体,与动态遮挡物相应的动态遮挡信息可以指的是动态位置和旋转信息等,而大部分遮挡物均有其物理实体,在进行配置时,可以通过场景编辑器,将预先配置的光源信息和虚拟场景中的光源刚体进行绑定,其光源刚体在游戏场景的用户视觉上可以表现为物理实体,光源刚体可以指的是光源所附着的刚体,以便后续在响应对游戏的加载指令时,可通过虚拟场景中的动态遮挡刚体检索对应的动态遮挡信息。
对于光源信息的配置,其光源信息可以是对光源进行定义的信息,其不仅可以对光源的光照区域进行定义,还可以对源的参数,例如光源标识、相对偏移信息、各种角度、各种照射范围、光源半径、光照颜色、光照强度等进行定义。光源在虚拟场景中通常也存在其物理实体,那么在进行配置时,可以表现为通过场景编辑器,将预先配置的光源信息和虚拟场景中的光源刚体进行绑定,其光源刚体在游戏场景的用户视觉上表现为物理实体,光源刚体可以指的是光源所附着的刚体,以便后续在响应对游戏的加载指令时,可以通过虚拟场景中的光源刚体检索对应的光源信息。
步骤302,在游戏运行的过程中,基于各个光源的光源照射方向和遮挡物信息依次对遮挡物进行剔除操作;
在响应游戏的加载指令并对游戏进行运行的过程中,可以对遮挡信息和光源信息进行读取并处理,例如生成对应实体,计算AABB,进行空间结构管理等操作,然后在游戏运行起来后,所有场景内物体都会经过局部空间到世界空间的变换,此时可以通过光源的AABB获知是否有光源是出现在当前视野内,在当前视野内存在至少一个光源的情况下,需要基于各个光源对遮挡物进行依次剔除。
具体地,可以基于各个光源的光源照射方向和遮挡物信息依次对遮挡物进行剔除操作,得到进行剔除操作后的遮挡物信息。所进行的剔除操作实质上仅对动态遮挡物进行处理,由于静态遮挡物是基于对贴图的读取得到的,并不会对静态遮挡物进行剔除操作的处理。
在具体表现中,可以生成针对各个光源的包围盒,分别获取与各个光源的包围盒相交的动态遮挡物,然后可以从与各个光源的包围盒相交的动态遮挡物中,剔除不处于各个光源的光源照射方向的动态遮挡物,并得到进行剔除操作后的遮挡物信息。在实际应用中,对于每个光源而言,可以得到与此光源的AABB相交的所有动态遮挡物,且由于光源可能并非向所有方向照射,其可能是一个扇形,此时还需要基于光源的照射方向以剔除AABB相交,但实际处于光照缺口的遮挡物,当所有可见光源都处理完毕后,可以取所有筛选出的遮挡物的并集,构成最终需要处理的动态遮挡物。其中,由于未对静态遮挡物进行剔除操作,进行剔除操作后的遮挡物信息可以包括进行剔除操作后的动态遮挡物信息和进行剔除操作前的静态遮挡物信息。
需要说明的是,对动态遮挡物进行的剔除操作是每帧更新的,能够克服每帧光源与遮挡位置的相对变化。
在进行剔除处理后,可将进行剔除操作后的动态遮挡物信息和光源信息存入处理结构中,同时在Room的sdf静态贴图也将会被存入处理结构,以便后续工作的单位由CPU转换到GPU。示例性地,由于游戏的特点,对于某个Room而言,即便加上隔壁Room的处理,同时最多使用两张sdf贴图,即被存入处理结构中的sdf静态贴图为两张。
步骤303,根据进行剔除操作后的遮挡物信息和光源信息,确定目标渲染像素点针对各个光源的有向距离;
在进行渲染时,存入处理结构中的内容将会被传输至GPU,以便GPU进行后续计算,那么此时可以基于根据进行剔除操作后的遮挡物信息和光源信息,对目标渲染像素点的光照区域进行计算。
具体地,软阴影的生成,主要是基于虚拟场景中光源对需要进行光照渲染的目标渲染像素点的光照强度的不同,即光照强度占比信息产生的,在获取用于确定光照强度占比信息的光源信息和遮挡信息后,还需要对虚拟场景中需要进行光照渲染的目标渲染像素点进行确定。
在实际应用中,在虚拟场景的当前视野内如果不存在任何光源,则无需对基于虚拟玩家视角的当前画面帧进行光照渲染处理,且不在光源半径内的渲染像素点也不需要进行光照渲染处理。
那么,在确定目标渲染像素点时,首先可以确定光源的位置,其具体可采用光源附着在光源刚体的相对偏移信息进行确定,然后可以通过光源的AABB判断虚拟场景的当前视野是否存在光源。具体可基于光源的位置信息生成针对光源的包围盒AABB,并可将虚拟场景也可以视为一个包围盒AABB,此时可以基于两个AABB的求交以判断虚拟场景的当前视野是否存在光源,若两个AABB存在相交部分,则表示当前视野存在光源,则判定虚拟场景的当前画面帧需要进行光照渲染,可以获取虚拟场景中需要进行光照渲染的目标画面帧。
然后可以在所确定的需要进行光照渲染的目标画面帧中,确定处于光源半径的范围内的所有渲染像素点,均为需要进行光照渲染的目标渲染像素点。需要说明的是,由于所确定的目标渲染像素点为处于光源半径的范围内的所有渲染像素点,在后续进行有向距离的确定以及光照强度占比信息的计算时,不仅需要针对各个光源依次进行计算,同时还需要对受各个光源影响的目标渲染像素点进行计算。
在实际应用中,在GPU上可以接收CPU基于处理结构所传输的信息,此时可以简单判断一下当前渲染像素点到光源的距离是否在光源半径内,以便更快地排除一些像素,即若当前渲染像素点到光源的距离不在光源半径内,则可直接确定其处于全影区域,直接将当前渲染像素点进行排除。
在本发明的一种实施例中,在进行目标渲染像素点针对各个光源的有向距离的计算时,可以针对各个光源,将目标渲染像素点以预设步长向光源的位置的方向移动,并基于进行剔除操作后的遮挡物信息确定移动后的目标渲染像素点的有向距离,其中,若有向距离达到预设距离阈值,则可以不断以有向距离为步长再次向述光源的位置的方向移动,并再次基于进行剔除操作后的遮挡物信息确定移动后的目标渲染像素点的有向距离,直至将目标渲染像素点移动至光源的位置为止,以缩小误差。
具体地,在基于进行剔除操作后的遮挡物信息确定移动后的目标渲染像素点的有向距离时,可以遍历移动后的目标渲染像素点,获取与进行剔除操作后的动态遮挡物信息中的第一最小有向距离值,然后对移动后的目标渲染像素点对应的静态贴图进行采样,获取第二最小有向距离值;此时可以确定第一最小有向距离值和第二最小有向距离值中的较小值,为移动后的目标渲染像素点的有向距离。
步骤304,基于目标渲染像素点的有向距离,确定光源对目标渲染像素点的光照强度占比信息。
所确定的目标渲染像素点的有向距离,不仅与光源因素有关,还与遮挡物因素有关,此时可以基于目标渲染像素点的有向距离,确定光源对目标渲染像素点的光照强度占比信息。
其中,所确定的光照强度占比信息可以用于指示光源对渲染像素点的阴影生成的影响程度,基于有向距离确定的光照强度占比信息知晓光源对渲染像素点的阴影生成的影响程度,进而知晓光源对在虚拟场景中需要光照渲染的渲染像素点的光照百分比的影响,支持软阴影效果的产生。
在实际应用中,可以获取光源的光源半径,计算目标渲染像素点的有向距离与光源半径的比值,得到目标渲染像素点的光照强度占比信息。
示例性地,参照图4,示出了本发明实施例提供的光照强度占比信息的生成示意图,假设P为当前的目标渲染像素点,O为光源的位置,光源半径为r,三角形部分为遮挡物,此遮挡物可以是静态遮挡物也可以是动态遮挡物。此时P点的照射影响可以表现为过P对以光源O的圆做两条切线,在本发明实施例中可以近似地使用所对直径。
此时可以将目标渲染像素点从点P出发,以一个微小的初始步长(即预设步长)向O的方向进行移动,假设到达A点,即移动后的目标渲染像素点为A点,此时可以通过sdf函数获得该A点的有向距离,即sdf值,以作为AA1的长度。
对于sdf值的获得可以实现对动态遮挡和静态遮挡的融合,此时可以遍历A点与所有动态遮挡物的sdf描述,获得第一最小有向距离值min1,然后可以对A点对应的sdf静态贴图采样获得第二最小有向距离值min2,此时可以取两者最小值即为该点的sdf。
预设距离阈值通常为-r,在一种情况下,若所得到的有向距离值sdf小于预设距离阈值,则表示该目标渲染像素点完全在阴影中,此时可以退出算法,对另一目标渲染像素点进行光照强度占比的确定。
在另一种情况下,若所得到的有向距离值sdf达到预设距离阈值,则继续算法。此时可以将AA1视为AA2,则有||PA||/||PO||=||AA2||/||OC||,由于除OC外,其他均为已知量,那么此时可以计算目标渲染像素点的有向距离与光源半径的比值,即OC与r的比值,作为该目标渲染像素点的光照强度占比信息。但由于这一近似有较大误差,此时可以随着sdf越小,达到减小误差的目的。
具体地,对于同一目标渲染像素点,还可以以步进长度为AA1(即上一次移动时所计算得到的有向距离)的长度,再次向O的方向移动,若该有向距离的值过小,此时还可以采用步进一个像素的长度。假设移动后的目标渲染像素点到达新的点B,此时可以采用与到达点A后相同的操作,获得比OC更小的覆盖值OD;然后还可以再次向O的方向以BB1的长度步进移动,直至到达O点,或者在步进一定的次数后,停止对目标渲染像素点的移动,并将所获得的最小的覆盖值作为该目标渲染像素点的有向距离,以采用目标渲染像素点的有向距离与光源半径的比值,得到目标渲染像素点的光照强度占比信息。
需要说明的是,在如图4所示的覆盖值的计算步骤中,仅考虑了一半光源的情况,那么在求得最小的覆盖值后,将该覆盖值加上r,再归一化并截取到[0,1]得到最终针对该目标渲染像素点的光照强度占比信息。以及,为了更柔和的过渡效果,可以将基于光照强度占比信息的光照结果进行一次smoothstep操作。
在实际应用中,当全部光源计算完毕后,算法结束,此时所获得的最终结果将会在后续影响光照的百分比,进而产生阴影的效果。
在本发明实施例中,在游戏加载时可以获取虚拟场景的光源信息和遮挡信息,在游戏运行的过程中,能够基于光源信息确定虚拟场景中需要进行光照渲染的目标渲染像素点,以便根据遮挡信息和光源信息确定目标渲染像素点的有向距离,使得能够基于目标渲染像素点的有向距离确定光源对目标渲染像素点的光照强度占比信息,通过基于有向距离确定的光照强度占比信息知晓光源对渲染像素点的阴影生成的影响程度,进而知晓光源对在虚拟场景中需要光照渲染的渲染像素点的光照百分比的影响,支持软阴影效果的产生。
参照图5,本发明实施例提供的软阴影生成的应用场景示意图,所加载与运行的游戏可以为平台跳跃类游戏,此游戏中的虚拟场景可以由多个游戏内的单元性区域(即Room)组成,Room之间可以连通,但各个Room彼此独立,单个Room内通常可能存在具有多个遮挡物的情况,这些遮挡虽然不同于平台,大部分是静态的,但也存在少部分的动态遮挡物。虚拟场景内的光源在无遮挡的情况下照亮周围物体,光源在被遮挡的情况下则需要生成阴影,为了增加阴影的真实性,所生成的阴影通常采用具有渐变过渡的软阴影。
具体地,参照图6,示出了本发明实施例提供的软阴影生成的过程示意图,其主要在对于动态遮挡物时,将遮挡物与物理实体进行绑定,而对于静态遮挡物,通常以room为单位离线生成其对应的sdf图,在后续实际GPU计算时,将针对动态的遮挡描述与针对静态的sdf图进行融合,采用基于sdf的算法计算光照与阴影,实现软阴影的生成。
具体地,在离线时可以将每个room所包含的静态遮挡信息以sdf的形式烘焙至贴图中,以及将光源信息与动态遮挡信息通过场景编辑器与物理实体进行绑定,然后在游戏加载时可以读取离线时所生成与配置的信息,在运行的过程中将场景内物体经过局部空间到世界空间的变换时,若存在一个或者多个光源,对各个光源依次进行遮挡物剔除,然后将光照信息与遮挡物信息存入处理结构中;在进行渲染时,处理结构中的内容将会投送给GPU,以供GPU进行后续的光照区域计算。其中,将信息存入处理结构的操作,可以为从CPU到GPU的单位转换的主要工作过程。
对于GPU的计算而言,其可以基于目标渲染像素点的有向距离确定光源对目标渲染像素点的光照强度占比信息,通过基于有向距离确定的光照强度占比信息知晓光源对渲染像素点的阴影生成的影响程度。具体地,可以计算目标渲染像素点的有向距离与光源半径的比值,得到目标渲染像素点的光照强度占比信息,进而知晓光源对在虚拟场景中需要光照渲染的渲染像素点的光照百分比的影响,支持软阴影效果的产生。
在本发明实施例中,提出基于GPU所实现的快速的、稳定的、支持软阴影的方案,其主要可以在进行渲染时基于所获取的遮挡信息和光源信息对光源的光照区域进行计算,由于GPU在进行光照区域的计算的同时需要进行处理的逻辑较少,基于GPU所进行光照区域的计算操作能够提高对计算速度;且通过基于遮挡信息和光源信息确定目标渲染像素点的有向距离,进而确定光源对目标渲染像素点的光照强度占比信息的方式,由于有向距离的算法性质简单,无需考虑各种复杂情况,且基于sdf的性质,使得动静融合方便;以及通过基于有向距离确定的光照强度占比信息知晓光源对渲染像素点的阴影生成的影响程度,进而知晓光源对在虚拟场景中需要光照渲染的渲染像素点的光照百分比的影响,支持软阴影效果的产生。进一步地,在离线时对于静态遮挡物离线生成其对应的sdf静态贴图,而对于动态遮挡物,将动态遮挡物与相应的物理实体进行绑定,使得动静分离,进一步提高GPU对光照区域的计算速度。
需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明实施例并不受所描述的动作顺序的限制,因为依据本发明实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明实施例所必须的。
参照图7,示出了本发明的一种软阴影生成装置实施例的结构框图,具体可以包括如下模块:
信息获取模块701,用于响应对游戏的加载指令,获取基于虚拟场景中光源的光源信息和虚拟场景的遮挡信息;
渲染像素点获取模块702,用于在游戏运行的过程中,根据光源信息确定虚拟场景中需要进行光照渲染的目标渲染像素点;
有向距离生成模块703,用于根据遮挡信息和光源信息,确定目标渲染像素点的有向距离;
光照强度占比确定模块704,用于基于目标渲染像素点的有向距离,确定光源对目标渲染像素点的光照强度占比信息;光照强度占比信息用于指示光源对渲染像素点的阴影生成的影响程度。
在本发明的一种实施例中,遮挡信息包括离线生成的静态遮挡信息和动态遮挡信息,装置还可以包括如下模块:
静态贴图生成模块,用于在游戏离线时,获取虚拟场景的单元性区域以及在各个单元性区域内的静态遮挡物,生成针对各个单元性区域内的静态遮挡物的采样网格,并将采样网格存储至相应的静态贴图;
刚体绑定模块,用于在游戏离线时,将预先配置的光源信息和虚拟场景中的光源刚体进行绑定。
在本发明的一种实施例中,信息获取模块701可以包括如下子模块:
信息获取子模块,用于通过静态贴图读取虚拟场景的遮挡信息,并通过虚拟场景中的光源刚体检索对应的光源信息,以及通过虚拟场景中的动态遮挡刚体检索对应的动态遮挡信息。
在本发明的一种实施例中,光源信息包括光源附着在光源刚体的相对偏移信息和光源半径;渲染像素点获取模块702可以包括如下子模块:
光源位置确定子模块,用于采用光源附着在光源刚体的相对偏移信息确定光源的位置;
目标画面帧获取子模块,用于基于光源的位置生成针对光源的包围盒,根据光源的包围盒确定目标画面帧;
目标渲染像素点确定子模块,用于在目标画面帧中,确定处于光源半径的范围内的渲染像素点为需要进行光照渲染的目标渲染像素点。
在本发明的一种实施例中,虚拟场景包括至少一个光源,光源信息包括光源照射方向;有向距离生成模块703可以包括如下子模块:
遮挡物剔除子模块,用于基于各个光源的光源照射方向和遮挡物信息依次对遮挡物进行剔除操作,得到进行剔除操作后的遮挡物信息;
有向距离确定子模块,用于根据进行剔除操作后的遮挡物信息和光源信息,确定目标渲染像素点针对各个光源的有向距离。
在本发明的一种实施例中,遮挡物剔除子模块可以包括如下单元:
包围盒生成单元,用于生成针对各个光源的包围盒,分别获取与各个光源的包围盒相交的动态遮挡物;
遮挡物剔除单元,用于从与各个光源的包围盒相交的动态遮挡物中,剔除不处于各个光源的光源照射方向的动态遮挡物,并得到进行剔除操作后的遮挡物信息;进行剔除操作后的遮挡物信息包含进行剔除操作后的动态遮挡物信息和进行剔除操作前的静态遮挡物信息。
在本发明的一种实施例中,光源信息包括光源的位置,其中光源的位置基于光源附着在光源刚体的相对偏移信息;有向距离确定子模块可以包括如下单元:
有向距离确定单元,用于针对各个光源,将目标渲染像素点以预设步长向光源的位置的方向移动,并基于进行剔除操作后的遮挡物信息确定移动后的目标渲染像素点的有向距离;
再次移动单元,用于在有向距离达到预设距离阈值时,不断以有向距离为步长再次向述光源的位置的方向移动,并再次基于进行剔除操作后的遮挡物信息确定移动后的目标渲染像素点的有向距离,直至将目标渲染像素点移动至光源的位置为止。
在本发明的一种实施例中,进行剔除操作后的遮挡物信息包括进行剔除操作后的动态遮挡物信息和进行遮挡物剔除操作前的静态遮挡物信息;有向距离确定单元可以包括如下子单元:
第一最小有向距离值获取子单元,用于遍历移动后的目标渲染像素点,获取与进行剔除操作后的动态遮挡物信息中的第一最小有向距离值;
第二最小有向距离值获取子单元,用于对移动后的目标渲染像素点对应的静态贴图进行采样,获取第二最小有向距离值;
有向距离确定子单元,用于确定第一最小有向距离值和第二最小有向距离值中的较小值,为移动后的目标渲染像素点的有向距离。
在本发明的一种实施例中,光照强度占比确定模块704可以包括如下子模块:
光照强度占比计算子模块,用于获取光源的光源半径,计算目标渲染像素点的有向距离与光源半径的比值,得到目标渲染像素点的光照强度占比信息。
本发明实施例所提出的软阴影生成装置,在游戏加载时可以获取虚拟场景的光源信息和遮挡信息,在游戏运行的过程中,能够基于光源信息确定虚拟场景中需要进行光照渲染的目标渲染像素点,以便根据遮挡信息和光源信息确定目标渲染像素点的有向距离,使得能够基于目标渲染像素点的有向距离确定光源对目标渲染像素点的光照强度占比信息,通过基于有向距离确定的光照强度占比信息知晓光源对渲染像素点的阴影生成的影响程度,进而知晓光源对在虚拟场景中需要光照渲染的渲染像素点的光照百分比的影响,支持软阴影效果的产生。
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本发明实施例还提供了一种电子设备,包括:
包括处理器、存储器及存储在所述存储器上并能够在所述处理器上运行的计算机程序,该计算机程序被处理器执行时实现上述软阴影生成方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
本发明实施例还提供了一种计算机可读存储介质,计算机可读存储介质上存储计算机程序,计算机程序被处理器执行时实现上述软阴影生成方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
本领域内的技术人员应明白,本发明实施例的实施例可提供为方法、装置、或计算机程序产品。因此,本发明实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明实施例是参照根据本发明实施例的方法、终端设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明实施例范围的所有变更和修改。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。
以上对本发明所提供的一种软阴影生成方法、一种软阴影生成装置、相应的一种电子设备以及相应的一种计算机存储介质,进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (12)
1.一种软阴影生成方法,其特征在于,所述方法包括:
获取基于虚拟场景中光源的光源信息和虚拟场景的遮挡信息;
在游戏运行的过程中,根据所述光源信息确定所述虚拟场景中需要进行光照渲染的目标渲染像素点;
根据所述遮挡信息和所述光源信息,确定所述目标渲染像素点的有向距离;
基于所述目标渲染像素点的有向距离,确定所述光源对所述目标渲染像素点的光照强度占比信息;所述光照强度占比信息用于指示所述光源对所述渲染像素点的阴影生成的影响程度。
2.根据权利要求1所述的方法,其特征在于,所述遮挡信息包括离线生成的静态遮挡信息和动态遮挡信息,还包括:
在游戏离线时,获取所述虚拟场景的单元性区域以及在各个单元性区域内的静态遮挡物,生成针对各个单元性区域内的静态遮挡物的采样网格,并将所述采样网格存储至相应的静态贴图;
以及在游戏离线时,将预先配置的光源信息和虚拟场景中的光源刚体进行绑定。
3.根据权利要求2所述的方法,其特征在于,所述获取基于虚拟场景中光源的光源信息和虚拟场景的遮挡信息,包括:
通过静态贴图读取所述虚拟场景的遮挡信息,并通过所述虚拟场景中的光源刚体检索对应的光源信息,以及通过所述虚拟场景中的动态遮挡刚体检索对应的动态遮挡信息。
4.根据权利要求1或2所述的方法,其特征在于,所述光源信息包括所述光源附着在光源刚体的相对偏移信息和光源半径;所述根据所述光源确定所述虚拟场景中需要进行光照渲染的目标渲染像素点,包括:
采用所述光源附着在光源刚体的相对偏移信息确定所述光源的位置;
基于所述光源的位置生成针对所述光源的包围盒,根据所述光源的包围盒确定目标画面帧;
在所述目标画面帧中,确定处于所述光源半径的范围内的渲染像素点为需要进行光照渲染的目标渲染像素点。
5.根据权利要求1所述的方法,其特征在于,所述虚拟场景包括至少一个光源,所述光源信息包括光源照射方向;所述根据所述遮挡信息和所述光源信息,确定所述目标渲染像素点的有向距离,包括:
基于各个光源的光源照射方向和遮挡物信息依次对遮挡物进行剔除操作,得到进行剔除操作后的遮挡物信息;
根据进行剔除操作后的遮挡物信息和所述光源信息,确定所述目标渲染像素点针对各个光源的有向距离。
6.根据权利要求5所述的方法,其特征在于,所述基于各个光源的光源照射方向和遮挡物信息依次对遮挡物进行剔除操作,得到进行剔除操作后的遮挡物信息,包括:
生成针对各个光源的包围盒,分别获取与各个光源的包围盒相交的动态遮挡物;
从与各个光源的包围盒相交的动态遮挡物中,剔除不处于各个光源的光源照射方向的动态遮挡物,并得到进行剔除操作后的遮挡物信息;所述进行剔除操作后的遮挡物信息包含进行剔除操作后的动态遮挡物信息和进行剔除操作前的静态遮挡物信息。
7.根据权利要求5所述的方法,其特征在于,所述光源信息包括光源的位置,其中所述光源的位置基于光源附着在光源刚体的相对偏移信息;所述根据进行剔除操作后的遮挡物信息和所述光源信息,确定所述目标渲染像素点针对各个光源的有向距离,包括:
针对各个光源,将所述目标渲染像素点以预设步长向所述光源的位置的方向移动,并基于进行剔除操作后的遮挡物信息确定移动后的目标渲染像素点的有向距离;
若所述有向距离达到预设距离阈值,不断以所述有向距离为步长再次向述光源的位置的方向移动,并再次基于进行剔除操作后的遮挡物信息确定移动后的目标渲染像素点的有向距离,直至将所述目标渲染像素点移动至所述光源的位置为止。
8.根据权利要求7所述的方法,其特征在于,所述进行剔除操作后的遮挡物信息包括进行剔除操作后的动态遮挡物信息和进行遮挡物剔除操作前的静态遮挡物信息;
所述基于进行剔除操作后的遮挡物信息确定移动后的目标渲染像素点的有向距离,包括:
遍历所述移动后的目标渲染像素点,获取与所述进行剔除操作后的动态遮挡物信息中的第一最小有向距离值;
对所述移动后的目标渲染像素点对应的静态贴图进行采样,获取第二最小有向距离值;
确定所述第一最小有向距离值和所述第二最小有向距离值中的较小值,为所述移动后的目标渲染像素点的有向距离。
9.根据权利要求1或5或6或7或8所述的方法,其特征在于,所述基于所述目标渲染像素点的有向距离,确定所述光源对所述目标渲染像素点的光照强度占比信息,包括:
获取所述光源的光源半径,计算所述目标渲染像素点的有向距离与所述光源半径的比值,得到所述目标渲染像素点的光照强度占比信息。
10.一种软阴影生成装置,其特征在于,所述装置包括:
信息获取模块,用于响应对游戏的加载指令,获取基于虚拟场景中光源的光源信息和虚拟场景的遮挡信息;
渲染像素点获取模块,用于在游戏运行的过程中,根据所述光源信息确定所述虚拟场景中需要进行光照渲染的目标渲染像素点;
有向距离生成模块,用于根据所述遮挡信息和所述光源信息,确定所述目标渲染像素点的有向距离;
光照强度占比确定模块,用于基于所述目标渲染像素点的有向距离,确定所述光源对所述目标渲染像素点的光照强度占比信息;所述光照强度占比信息用于指示所述光源对所述渲染像素点的阴影生成的影响程度。
11.一种电子设备,其特征在于,包括:处理器、存储器及存储在所述存储器上并能够在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如权利要求1至9中任一项所述软阴影生成方法。
12.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储计算机程序,所述计算机程序被处理器执行时实现如权利要求1至9中任一项所述软阴影生成方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211229765.3A CN115546389A (zh) | 2022-10-08 | 2022-10-08 | 软阴影生成方法、装置、设备及存储介质 |
PCT/CN2023/082265 WO2024074015A1 (zh) | 2022-10-08 | 2023-03-17 | 软阴影生成方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211229765.3A CN115546389A (zh) | 2022-10-08 | 2022-10-08 | 软阴影生成方法、装置、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115546389A true CN115546389A (zh) | 2022-12-30 |
Family
ID=84733214
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211229765.3A Pending CN115546389A (zh) | 2022-10-08 | 2022-10-08 | 软阴影生成方法、装置、设备及存储介质 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN115546389A (zh) |
WO (1) | WO2024074015A1 (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115830208A (zh) * | 2023-01-09 | 2023-03-21 | 腾讯科技(深圳)有限公司 | 全局光照渲染方法、装置、计算机设备和存储介质 |
CN116109758A (zh) * | 2023-04-07 | 2023-05-12 | 北京渲光科技有限公司 | 一种光源投影位置定位、场景渲染的方法及装置 |
CN116310060A (zh) * | 2023-04-11 | 2023-06-23 | 深圳优立全息科技有限公司 | 一种渲染数据的方法、装置、设备及存储介质 |
WO2024074015A1 (zh) * | 2022-10-08 | 2024-04-11 | 网易(杭州)网络有限公司 | 软阴影生成方法、装置、设备及存储介质 |
WO2024193258A1 (zh) * | 2023-03-23 | 2024-09-26 | 腾讯科技(深圳)有限公司 | 阴影渲染方法、装置、计算机设备和存储介质 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7508390B1 (en) * | 2004-08-17 | 2009-03-24 | Nvidia Corporation | Method and system for implementing real time soft shadows using penumbra maps and occluder maps |
CN104102488B (zh) * | 2014-07-18 | 2017-09-22 | 无锡梵天信息技术股份有限公司 | 一种基于多线程并行化的3d引擎系统 |
CN111292405B (zh) * | 2020-02-06 | 2022-04-08 | 腾讯科技(深圳)有限公司 | 一种图像渲染的方法以及相关装置 |
CN115115747A (zh) * | 2021-03-09 | 2022-09-27 | 网易(杭州)网络有限公司 | 光照渲染方法、装置、电子设备及存储介质 |
CN115546389A (zh) * | 2022-10-08 | 2022-12-30 | 网易(杭州)网络有限公司 | 软阴影生成方法、装置、设备及存储介质 |
-
2022
- 2022-10-08 CN CN202211229765.3A patent/CN115546389A/zh active Pending
-
2023
- 2023-03-17 WO PCT/CN2023/082265 patent/WO2024074015A1/zh unknown
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2024074015A1 (zh) * | 2022-10-08 | 2024-04-11 | 网易(杭州)网络有限公司 | 软阴影生成方法、装置、设备及存储介质 |
CN115830208A (zh) * | 2023-01-09 | 2023-03-21 | 腾讯科技(深圳)有限公司 | 全局光照渲染方法、装置、计算机设备和存储介质 |
CN115830208B (zh) * | 2023-01-09 | 2023-05-09 | 腾讯科技(深圳)有限公司 | 全局光照渲染方法、装置、计算机设备和存储介质 |
WO2024148928A1 (zh) * | 2023-01-09 | 2024-07-18 | 腾讯科技(深圳)有限公司 | 全局光照渲染方法、装置、计算机设备和存储介质 |
WO2024193258A1 (zh) * | 2023-03-23 | 2024-09-26 | 腾讯科技(深圳)有限公司 | 阴影渲染方法、装置、计算机设备和存储介质 |
CN116109758A (zh) * | 2023-04-07 | 2023-05-12 | 北京渲光科技有限公司 | 一种光源投影位置定位、场景渲染的方法及装置 |
CN116310060A (zh) * | 2023-04-11 | 2023-06-23 | 深圳优立全息科技有限公司 | 一种渲染数据的方法、装置、设备及存储介质 |
CN116310060B (zh) * | 2023-04-11 | 2024-02-09 | 深圳优立全息科技有限公司 | 一种渲染数据的方法、装置、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
WO2024074015A1 (zh) | 2024-04-11 |
WO2024074015A9 (zh) | 2024-06-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN115546389A (zh) | 软阴影生成方法、装置、设备及存储介质 | |
CN110738721B (zh) | 基于视频几何分析的三维场景渲染加速方法及系统 | |
US10504253B2 (en) | Conservative cell and portal graph generation | |
US20200118326A1 (en) | Systems and Methods for Soft Shadowing in 3-D Rendering Casting Multiple Rays from Ray Origins | |
US5808620A (en) | System and method for displaying shadows by dividing surfaces by occlusion into umbra penumbra, and illuminated regions from discontinuity edges and generating mesh | |
KR101979418B1 (ko) | 3-차원 텍스처링된 메시들의 견고한 병합 | |
US7561156B2 (en) | Adaptive quadtree-based scalable surface rendering | |
CN110728740B (zh) | 虚拟摄影测量 | |
JP3252904B2 (ja) | オクトリーコード化された物体の三次元表示法とこの方法を応用した装置 | |
CN110990516B (zh) | 地图数据的处理方法、装置和服务器 | |
CN111275633B (zh) | 基于图像分割的点云去噪方法、系统、装置和存储介质 | |
JP2004521423A (ja) | 8分木を用いた多数の画像からの3次元表現の生成 | |
CN113034657B (zh) | 游戏场景中光照信息的渲染方法、装置及设备 | |
CN111760277B (zh) | 光照渲染的方法及装置 | |
US20080012853A1 (en) | Generating mesh from implicit surface | |
CN111047682B (zh) | 一种三维车道模型生成方法及系统 | |
CN111652977A (zh) | 一种变电站三维场景智能漫游方法 | |
CN117274515A (zh) | 基于ORB和NeRF映射的视觉SLAM方法及系统 | |
CN111870953A (zh) | 一种高度图生成方法、装置、设备及存储介质 | |
CN118015197A (zh) | 一种实景三维逻辑单体化方法、装置及电子设备 | |
CN113786616B (zh) | 一种间接光照实现方法、装置、存储介质及计算设备 | |
EP4182892A1 (en) | Direct volume rendering apparatus | |
Hoppe et al. | Adaptive meshing and detail-reduction of 3D-point clouds from laser scans | |
JP4904638B2 (ja) | 3次元形状データの生成方法および装置並びにコンピュータプログラム | |
CN118365839B (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 |