CN117333364A - 一种参与介质实时渲染的时域升采样方法和装置 - Google Patents
一种参与介质实时渲染的时域升采样方法和装置 Download PDFInfo
- Publication number
- CN117333364A CN117333364A CN202311260756.5A CN202311260756A CN117333364A CN 117333364 A CN117333364 A CN 117333364A CN 202311260756 A CN202311260756 A CN 202311260756A CN 117333364 A CN117333364 A CN 117333364A
- Authority
- CN
- China
- Prior art keywords
- rendering
- pixel
- resolution
- medium
- offset
- 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 137
- 238000005070 sampling Methods 0.000 title claims abstract description 75
- 238000000034 method Methods 0.000 title claims abstract description 39
- 230000002123 temporal effect Effects 0.000 claims abstract description 10
- 239000011159 matrix material Substances 0.000 claims description 18
- 238000005286 illumination Methods 0.000 claims description 16
- 238000002834 transmittance Methods 0.000 claims description 14
- 230000008569 process Effects 0.000 claims description 8
- 230000008033 biological extinction Effects 0.000 claims description 5
- 238000004040 coloring Methods 0.000 claims description 5
- 230000002146 bilateral effect Effects 0.000 claims description 4
- 230000008859 change Effects 0.000 claims description 4
- 230000000694 effects Effects 0.000 claims description 3
- 230000002238 attenuated effect Effects 0.000 claims description 2
- 230000006870 function Effects 0.000 description 5
- 238000004422 calculation algorithm Methods 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 3
- 239000000779 smoke Substances 0.000 description 3
- 238000009825 accumulation Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 239000012530 fluid Substances 0.000 description 2
- 230000008447 perception Effects 0.000 description 2
- 230000035807 sensation Effects 0.000 description 2
- 238000007792 addition Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 239000003086 colorant Substances 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 230000037433 frameshift Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 239000002245 particle Substances 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformations in the plane of the image
- G06T3/40—Scaling of whole images or parts thereof, e.g. expanding or contracting
- G06T3/4053—Scaling of whole images or parts thereof, e.g. expanding or contracting based on super-resolution, i.e. the output image resolution being higher than the sensor resolution
- G06T3/4076—Scaling of whole images or parts thereof, e.g. expanding or contracting based on super-resolution, i.e. the output image resolution being higher than the sensor resolution using the original low-resolution images to iteratively correct the high-resolution images
-
- 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
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Graphics (AREA)
- Geometry (AREA)
- Software Systems (AREA)
- Image Generation (AREA)
Abstract
本发明公开了一种参与介质实时渲染的时域升采样方法和装置,包括:对场景深度图进行降采样得到低分辨率的场景深度图;基于时域图像样本生成亚像素偏移量;基于亚像素偏移量和低分辨率的场景深度图对参与介质进行非连续像素渲染,得到参与介质的低分辨率渲染图像;根据亚像素偏移量对参与介质的渲染图像进行时域重建;将重建分辨率下的重建图像进行升采样,得到参与介质的渲染分辨率的渲染图像。该方法和装置实现在不显著降低画面质量的情况下极大地提升渲染效率。
Description
技术领域
本发明涉及实时渲染技术领域,具体涉及一种参与介质实时渲染的时域升采样方法和装置。
背景技术
参与介质(Participating Media)在自然界中广泛存在,形如烟雾、大气、云等流体中的悬浮粒子能够对光线进行吸收和散射,从宏观上让光线在参与介质中的传播行为变得多样且复杂。在三维场景的渲染中,参与介质作为场景的主要元素之一能够增强场景的临场感,在艺术家们构建许多三维场景时被广泛地使用,并在近年来的大型3D游戏中大放异彩,极大地提升了场景的氛围感。
参与介质的渲染,由于它们通常是在空间内占据的一定的体积范围,也可以用体渲染来指代,参与介质在空间上的定义一般分为两部分:
(1)定义空间边界,例如以轴对齐包围盒(Axis Aligned Bounding Box)定义的空间内,或是类似虚幻引擎中使用附着在物体上的材质来进行定义;
(2)定义空间内数据,对空间内的每一个位置或是体素格点,定义其密度、温度等信息。空间内的数据可以是实时模拟的数据,这对应着流体模拟领域的研究;也可以是程序化生成的值,在实时渲染中通常这样做;还可以是预先生成好的数据,VDB数据格式就是这样一个例子。
通常的体渲染实现采用屏幕空间的算法,针对屏幕上的每一个像素发射一条光线,在场景中进行光线步进(Raymarching),通过遍布在视线上的采样点对场景中的参与介质数据进行采集,从而确定参与介质的形状。而在光照着色方面,在视线上的采样点处分别沿场景光照方向发出次级光线,并在次级光线上分布光照步进的采样点,将各个采样点的透射率进行累积,通过累积的透射率对原本光照颜色进行衰减,最终汇聚到视点以得到虚拟相机所看到的参与介质的颜色。
随着显示设备的不断发展,越来越高分辨率的显示屏纷纷面世,人们对于画面显示分辨率的需求也不断攀升,像素数量的提升对许多受像素数量影响的图形算法提出了更高的要求。对于参与介质的渲染而言,如果屏幕像素宽度为w,屏幕像素高度为h,光线步进时使用样本数为s,光照步进时使用样本数为ls,其时间复杂度为O(w*h*s*ls),在1920*1080显示分辨率下,一个典型实现的参与介质算法实时渲染时的每帧耗时在20ms左右,为了流畅度考虑,实时渲染每帧所有环节总耗时不应超过16.67ms,仅对参与介质渲染的耗时便超过了总开销,这在实时渲染场景中几乎是不可接受的,更何况在更高的分辨率下,参与介质渲染的开销还会持续上升。
发明内容
为了提高参与介质在实时渲染中的性能,本发明提出了一种参与介质实时渲染的时域升采样方法和装置,实现在不显著降低画面质量的情况下极大地提升渲染效率。
为实现上述目的,本发明实施例提供的一种参与介质实时渲染的时域升采样方法,包括以下步骤:
对场景深度图进行降采样得到渲染分辨率的场景深度图;
基于时域图像样本生成亚像素偏移量;
基于亚像素偏移量和渲染分辨率的场景深度图对参与介质进行非连续像素渲染,得到参与介质的渲染分辨率下的渲染图像;
根据亚像素偏移量对参与介质的渲染图像进行时域重建;
将重建分辨率下的重建图像进行升采样,得到参与介质的原始分辨率的渲染图像;
其中,原始分辨率≥重建分辨率>渲染分辨率。
优选地,所述基于时域图像样本生成亚像素偏移量,包括:
采用均匀偏移方式在预设阶数个时域图像样本上生成亚像素偏移量,形成由预设阶数个元素组成的偏移组合,偏移组合中的每个元素位置表示亚像素在渲染分辨率像素内部的偏移方向,元素值表示在亚像素被渲染的帧,亚像素偏移量为渲染分辨率的像素宽度除以预设阶数。
优选地,所述基于亚像素偏移量和渲染分辨率的场景深度图对参与介质进行非连续像素渲染,包括:
根据亚像素偏移量对当前虚拟相机的投影矩阵进行偏移处理,得到偏移后投影矩阵,利用偏移后投影矩阵并采用光线步进方式对参与介质进行非连续像素渲染,其中,低分辨率的场景深度图用于判断光线步进方式是否提前终止,通过场景深度图判断虚拟相机的视线向量与场景的交点,在交点之后不进行渲染,提前终止光线步进进程。
优选地,所述利用偏移后投影矩阵并采用光线步进方式对参与介质进行非连续像素渲染,包括:
使用预先生成的体素数据并结合包围盒区域,通过光线步进方式沿虚拟相机的视线向量分布采样点,通过在各采样点对参与介质的密度进行采样来累积当前位置透射率的变化,接着在各采样点处再沿光照方向进行光照着色样本的计算和累积,最终得到屏幕上每个像素所对应的参与介质的渲染颜色图像和穿过参与介质的平均距离,该平均距离组成渲染深度图像。
优选地,光照着色时,支持自定义的多重散射阶数,根据多重散射阶数的不同,计算光照时对采样点处的消光系数和散射系数进行逐阶衰减,并将所使用的相函数逐阶同均匀分布的相函数进行混合,以模拟多重散射的效果。
优选地,所述穿过参与介质的平均距离的计算过程包括:
对于虚拟相机的视线向量上每个参与介质密度不为零的采样点,以当前采样点的透射率作为权重,累积参与介质的加权深度,同时累积透射率作为权重值,穿过参与介质的平均距离为所有采样点的加权深度与权重值之比。
优选地,所述根据亚像素偏移量对参与介质的渲染图像进行时域重建,包括:
依据亚像素偏移量确认需要重投影的像素,针对每个需重投影的像素,通过重投影矩阵投影到上一帧的像素位置,当投影后的像素位置处于上一帧的屏幕空间,则认为重投影成功,并在投影后的像素位置采样上一帧的颜色数据和深度数据,通过临近像素处理策略对上一帧颜色数据和深度数据进行处理,处理后数据作为重建图像的像素输出;
针对重投影失败的像素,在该像素位置的参与介质的低分辨率渲染图像上采用双线性插值采集颜色数据和深度数据,将其作为重建图像的像素输出。
优选地,所述临近像素处理策略包括:
首先根据深度数据是否连续进行分类,深度数据的连续性采用下式进行判断:
abs(Depthp-Depthhis)>Depthp*β (1)
其中,Depthp是通过当前场景深度图恢复出来的场景点与虚拟相机之间的距离,Depthhis是通过采样历史帧深度数据恢复出来的场景点与虚拟相机之间的距离,abs(·)表示取绝对值,β表示处于0-1之间的小数;
若满足式(1),则认为重投影后的像素深度数据不连续,根据重投影后的像素深度信息是否连续,分为以下两种策略:
策略一:对于深度数据不连续的像素位置,以当前帧的深度数据为基准,使用当前像素一定半径内和当前帧场景深度最接近的像素的颜色和深度值;
策略二:对于深度数据连续的位置,用当前像素一定半径范围内的像素颜色值对历史帧的颜色数据进行限制,历史帧的颜色不能超过范围内像素最大和最小值,超过范围则以最大或最小值为准。
优选地,将重建分辨率下的重建图像进行升采样时,采用双线性插值升采样、使用时域抖动的升采样、双边升采样中的一种或者多种结合。
为实现上述发明目的,实施例还提供了一种参与介质实时渲染的时域升采样装置,包括降采样模块、偏移量生成模块、参与介质渲染模块、时域重建模块、升采样模块;
所述降采样模块用于对场景深度图进行降采样得到渲染分辨率的场景深度图;
所述偏移量生成模块用于基于时域图像样本生成亚像素偏移量;
所述参与介质渲染模块用于基于亚像素偏移量和渲染分辨率的场景深度图对参与介质进行非连续像素渲染,得到参与介质的渲染分辨率下的渲染图像;
所述时域重建模块用于根据亚像素偏移量对参与介质的渲染图像进行时域重建;
所述升采样模块用于将重建分辨率下的重建图像进行升采样,得到参与介质的原始分辨率的渲染图像。
其中,原始分辨率≥重建分辨率>渲染分辨率。
与现有技术相比,本发明具有的有益效果至少包括:
基于时域图像样本生成亚像素偏移量的基础上,在低分辨率的图像上通过亚像素偏移进行参与介质的非连续像素渲染,之后在时域上进行样本数的累积,在高分辨率图像上再进行重建、升采样操作,从而在不显著降低画面质量的情况下极大地提升渲染效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图做简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动前提下,还可以根据这些附图获得其他附图。
图1是实施例提供的参与介质实时渲染的时域升采样方法的流程图;
图2是实施例提供的参与介质实时渲染的时域升采样方法的流程框图;
图3是实施例提供的各个降采样方法和原始深度图的对比图;
图4是实施例提供的时域亚像素偏移值的示例图;
图5是实施例提供的烟雾的渲染结果图;
图6是实施例提供的参与介质实时渲染的时域升采样装置的结构示意图。
具体实施方式
为使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例对本发明进行进一步的详细说明。应当理解,此处所描述的具体实施方式仅仅用以解释本发明,并不限定本发明的保护范围。
在本发明实施例中,先确定三个阶段的分辨率:
渲染分辨率Rpm:指参与介质渲染时所使用的低分辨率;
重建分辨率Rrecon:指时域升采样重建过程所使用的分辨率;
原始分辨率Rscene:指原本场景渲染所使用的分辨率;
规定原始分辨率≥重建分辨率>渲染分辨率,具体分辨率的大小可以由用户进行设定和组合。一种较为典型的分辨率设置是:原始分辨率设置为全屏分辨率(例如:1920*1080),重建分辨率设置为二分之一分辨率(例如:960*540),渲染分辨率设置为四分之一分辨率(例如:480*270)。下文将以该种分辨率设定作为示例进行说明。
如图1所示和图2所示,实施例提供的参与介质实时渲染的时域升采样方法,包括以下步骤:
S110,对场景深度图进行降采样得到渲染分辨率的场景深度图。
针对原始分辨率的场景深度图进行降采样,得到渲染分辨率的场景深度图。可以采用棋盘格分布降采样方式,例如对于场景深度图中的4x4像素,降采样之后变为2x2像素,每个像素对应场景深度图中的4个像素。在降采样的贴图的2x2个像素中,左下角的像素为原本四个像素中的最小值;右下角的像素为原本四个像素中的最大值;左上角的像素为原本四个像素的最大值;右上角的像素为原本四个像素的最小值。从而形成了一种棋盘格的图案,参见图3的对比,深度最大值降采样会导致物体的边缘向内缩减,而深度最小值降采样会导致所有物体边缘向外膨胀,棋盘分布降采样在整体上综合了两种方法,对原本场景的保留和还原程度更高。
S120,基于时域图像样本生成亚像素偏移量。
基于时域上图像样本的分布策略来生成像素内偏移量,即亚像素偏移量,使用该偏移量对虚拟相机的投影矩阵进行修改。通过像素内偏移量,使得每帧每个像素实际渲染的位置并不相同,在不增加每帧所使用的样本数的同时,将多个样本分摊到连续的多帧当中。
亚像素偏移量是指偏移量并不会大于渲染分辨率的一个像素,通过随机的偏移值使得样本能够分布在像素内的任意位置。时域上图像样本的分布策略有多种可选方案,本实施例采用均匀偏移,即各帧亚像素的偏移量都是相对固定的,采用均匀偏移方式在预设阶数个时域图像样本上生成亚像素偏移量,形成由预设阶数个元素组成的偏移组合,偏移组合中的每个元素位置表示亚像素在渲染分辨率像素内部的偏移方向,元素值表示在亚像素被渲染的帧,亚像素偏移量为渲染分辨率的像素宽度除以预设阶数。
假设有阶数order=(Rrecon/Rcloud)2,其中,Rrecon表示重建分辨率,Rcloud表示渲染分辨率。参与介质的渲染每帧在一个像素上进行采样,重建分辨率的像素数目是渲染分辨率像素数目的order倍,因此每连续的order帧能够获得一张重建分辨率的图像,需要将order个图像样本分布在亚像素中。示例中order=4,一种4阶的帧偏移组合参见图4。在示例的帧偏移组合中,第0帧对应左上角的元素,因此将采样点往像素内左上角子像素进行偏移,对于重建分辨率是渲染分辨率两倍的情况下,一个渲染分辨率的像素对应重建分辨率的四个像素,设渲染分辨率每个像素的宽度为1,因此左上角像素的偏移量为(-0.25,0.25)。
S130,基于亚像素偏移量和渲染分辨率的场景深度图对参与介质进行非连续像素渲染,得到参与介质的渲染分辨率下的渲染图像。
在得到亚像素偏移量后,根据亚像素偏移量对当前虚拟相机的投影矩阵进行偏移处理,得到偏移后投影矩阵。具体偏移处理方式包括:
设原虚拟相机投影矩阵为Mproj,由偏移量构成的偏移矩阵为Moffset,则将两个矩阵相乘得到最终使用的偏移后投影矩阵:
其中,jx jy表示亚像素在屏幕上横向以及纵向的偏移量,n表示虚拟相机视锥的近平面距离,f表示虚拟相机视锥的远平面距离,w表示虚拟相机视锥的近平面半宽,h表示的是虚拟相机视锥的近平面半高。
利用虚拟相机的偏移后投影矩阵进行参与介质的非连续像素渲染,经过偏移后,参与介质图像的渲染在重建分辨率的图像上是非连续的。非连续的样本分布配合每帧不同的亚像素偏移量,使得低分辨率下的参与介质渲染能够将更多的样本分布在时域上,从而一定程度上解决了样本数不足的问题。
参与介质的实时渲染在工业界有多种实现方式,本实施例中,使用预先生成的体素数据并结合定义在世界空间的包围盒区域,通过光线步进方式沿虚拟相机的视线向量分布采样点,通过在各采样点对参与介质的密度进行采样来累积当前位置透射率的变化,接着在各采样点处再沿光照方向进行光照着色样本的计算和累积,最终得到屏幕上每个像素所对应的参与介质的渲染颜色图像和穿过参与介质的平均距离,该平均距离组成渲染深度图像。
在光线步进过程中,采用低分辨率的场景深度图像来判断光线步进方式是否提前终止。具体通过场景深度图判断虚拟相机的视线向量与场景的交点,在交点之后由于参与介质被场景物体遮挡,不继续进行渲染,提前终止光线步进进程。
光照着色时,实施例支持自定义的多重散射阶数,根据多重散射阶数的不同,计算光照时对采样点处的消光系数(Extinction Coefficience)和散射系数(ScatteringCoefficience)进行逐阶衰减,并将所使用的相函数逐阶同均匀分布的相函数进行混合,以模拟多重散射的效果。
在输出参与介质的渲染颜色图像外,还需输出穿过参与介质的平均距离来构成渲染深度图像,穿过参与介质的平均距离的计算过程包括:
对于虚拟相机的视线向量上每个参与介质密度不为零的采样点xn,以当前采样点的透射率Tr(xn)作为权重,累积参与介质的加权深度Depth(xn),同时累积透射率作为权重值,穿过参与介质的平均距离Depthcloud为所有采样点的加权深度与权重值之比,用公式表示为:
S140,根据亚像素偏移量对参与介质的渲染图像进行时域重建。
由于S120会设置每帧不同的偏移量,因此S130渲染出来的图像每帧都不同,它分别对应重建分辨率下对应S120偏移位置的像素信息,因此进行时域重建时需要利用渲染分辨率的图像来生成重建分辨率的图像。具体过程为:
依据亚像素偏移量确认需要重投影的像素,对于重建分辨率图像中的每2x2像素块,其中有一个像素是当前帧S130渲染生成的,该像素与亚像素偏移量相对应,并且是最新数据,因此直接使用渲染值作为重建分辨率图像的像素输出,对于2x2像素块中另外的三个像素,它们并不对应当前帧亚像素的偏移值,需要通过重投影的方式从上一帧重建分辨率图像中进行获取。
针对每个需重投影的像素Pi,通过重投影矩阵Mproj·Moffset投影到上一帧的像素位置,当投影后的像素位置Pi’处于上一帧的屏幕空间,则认为重投影成功,否则认为重投影失败。
重投影失败的像素无法重用历史帧中的数据,因此只可从当前帧中获取数据。在本实施例中,针对重投影失败的像素,在该像素位置的参与介质的低分辨率渲染图像上采用双线性插值采集颜色数据和深度数据,将其作为重建图像的像素输出。
重投影成功的像素使用历史帧中的数据,对于Pi重投影后的像素位置Pi’,在投影后的像素位置Pi’采样上一帧的颜色数据和深度数据,通过临近像素处理策略对上一帧颜色数据和深度数据进行处理,处理后数据作为重建图像的像素输出。
其中,临近像素处理策略包括:首先根据深度数据是否连续进行分类,深度数据的连续性采用下式进行判断:
abs(Depthp-Depthhis)>Depthp*β (3)
其中,Depthp是通过当前场景深度图恢复出来的场景点与虚拟相机之间的距离,Depthhis是通过采样历史帧深度数据恢复出来的场景点与虚拟相机之间的距离,abs(·)表示取绝对值,β表示处于0-1之间的小数;
若满足式(3),则认为重投影后的像素深度数据不连续,根据重投影后的像素深度信息是否连续,分为以下两种策略:
策略一:对于深度数据不连续的像素位置,以当前帧的深度数据为基准,使用当前像素一定半径内和当前帧场景深度最接近的像素的颜色和深度值;
策略二:对于深度数据连续的位置,用当前像素一定半径范围内的像素颜色值对历史帧的颜色数据进行限制,历史帧的颜色不能超过范围内像素最大和最小值,超过范围则以最大或最小值为准。
S150,将重建分辨率下的重建图像进行升采样,得到参与介质的原始分辨率的渲染图像。
在构建重建图像之后,需要进一步进行升采样将重建分辨率恢复到原始分辨率,这一过程可以使用多种升采样策略,采用双线性插值升采样、使用时域抖动的升采样、双边升采样中的一种或者多种结合。本实施例中采用了基于深度感知的双边上采样方法+时域抖动的方法,具体流程包括:
在基于深度感知的双边上采样方法中,考虑当前像素所在的2x2像素:
(1)从参与介质重建深度图像中读取场景深度和所穿过的参与介质深度dc;
(2)通过场景深度图和相机位置得到当前像素所对应场景深度ds;
(3)计算场景深度ds和2x2像素块内参与介质深度dc的差值diff;
(4)读取由用户输入的双线性插值升采样阈值;
(5)当diff大于该阈值时,对2x2像素块执行双线性插值升采样;
(6)否则,采样2x2像素块内的参与介质颜色信息color,令t为用户自定义的加权系数,依据公式:
color=dot(ω,colorrecon ) (5)
其中,diff是一个四维向量,每一维表示场景深度ds和2x2像素块内参与介质深度dc的差值,ω以四维向量的形式表示2x2像素块内每个像素颜色的权重,colorrecon表示2x2像素块的像素颜色。
(7)经过式(5)的加权混合后,得到上采样后的像素颜色值color;
时域抖动是指对上采样后的像素颜色值color加上每帧变化的随机偏移,通过偏移后的采样点加入时域上的更多图像样本,并依据透射率的一致性决定叠加权重,最终得到参与介质渲染的最终颜色。对时域抖动的步骤拆分如下:
(1)通过随机抖动对采样点进行偏移,使用偏移后的n个采样点对重建图像进行采样;
(2)通过采样后参与介质颜色中存储的透射率(存储于参与介质颜色的透明度通道中)与当前参与介质颜色中的透射率的插值来决定采样结果的权重,并同(1)中的采样结果进行相乘并累加,得到最终的颜色值,其计算公式如下:
其中,extinction为用户设定的消光系数,Alphai代表第i个样本所采样到的上采样后颜色图像的透明度通道信息,Colori代表第i个样本所采样到的上采样后颜色图像的RGBA通道信息,Alpha表示n个样本所采样到的上采样后颜色图像的透明度通道信息平均值。
在获得参与介质的渲染图像后,将参与介质的升采样结果与原始场景图像进行混合,原始场景图像指的是对场景内的不透明物体进行渲染的结果,采用预乘透明度的方法与场景的颜色进行叠加,以实现参与介质最终的渲染。这一混合将产生如下结果:对于没有场景物体的像素,像素最终颜色为参与介质的颜色;对于存在场景物体的像素,像素最终颜色取决于虚拟相机和场景物体中间所穿过的参与介质的厚度,如果参与介质空间范围越厚、密度越高或者所穿过的距离越长,那么背后的场景物体将被参与介质掩盖;如果参与介质空间范围越薄、密度越低或者所穿过的距离越短,那么场景物体将会清晰可见。使用本发明对烟雾进行渲染的结果如图5所示。
基于同样的发明构思,实施例还提供了一种参与介质实时渲染的时域升采样装置,如图6所示,该装置600包括降采样模块610、偏移量生成模块620、参与介质渲染模块630、时域重建模块640、升采样模块650;
其中,降采样模块610用于对场景深度图进行降采样得到渲染分辨率的场景深度图;偏移量生成模块620用于基于时域图像样本生成亚像素偏移量;参与介质渲染模块630用于基于亚像素偏移量和渲染分辨率的场景深度图对参与介质进行非连续像素渲染,得到参与介质的渲染分辨率下的渲染图像;时域重建模块640用于根据亚像素偏移量对参与介质的渲染图像进行时域重建;升采样模块650用于将重建分辨率下的重建图像进行升采样,得到参与介质的原始分辨率的渲染图像。
需要说明的是,上述实施例提供的参与介质实时渲染的时域升采样装置在进行参与介质实时渲染的时域升采样时,应以上述各功能模块的划分进行举例说明,可以根据需要将上述功能分配由不同的功能模块完成,即在终端或服务器的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的参与介质实时渲染的时域升采样装置与参与介质实时渲染的时域升采样方法实施例属于同一构思,其具体实现过程详见参与介质实时渲染的时域升采样方法实施例,这里不再赘述。
以上所述的具体实施方式对本发明的技术方案和有益效果进行了详细说明,应理解的是以上所述仅为本发明的最优选实施例,并不用于限制本发明,凡在本发明的原则范围内所做的任何修改、补充和等同替换等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种参与介质实时渲染的时域升采样方法,其特征在于,包括以下步骤:
对场景深度图进行降采样得到渲染分辨率的场景深度图;
基于时域图像样本生成亚像素偏移量;
基于亚像素偏移量和渲染分辨率的场景深度图对参与介质进行非连续像素渲染,得到参与介质的渲染分辨率下的渲染图像;
根据亚像素偏移量对参与介质的渲染图像进行时域重建;
将重建分辨率下的重建图像进行升采样,得到参与介质的原始分辨率的渲染图像;
其中,原始分辨率≥重建分辨率>渲染分辨率。
2.根据权利要求1所述的参与介质实时渲染的时域升采样方法,其特征在于,所述基于时域图像样本生成亚像素偏移量,包括:
采用均匀偏移方式在预设阶数个时域图像样本上生成亚像素偏移量,形成由预设阶数个元素组成的偏移组合,偏移组合中的每个元素位置表示亚像素在渲染分辨率像素内部的偏移方向,元素值表示在亚像素被渲染的帧,亚像素偏移量为渲染分辨率的像素宽度除以预设阶数。
3.根据权利要求1所述的参与介质实时渲染的时域升采样方法,其特征在于,所述基于亚像素偏移量和渲染分辨率的场景深度图对参与介质进行非连续像素渲染,包括:
根据亚像素偏移量对当前虚拟相机的投影矩阵进行偏移处理,得到偏移后投影矩阵,利用偏移后投影矩阵并采用光线步进方式对参与介质进行非连续像素渲染,其中,低分辨率的场景深度图用于判断光线步进方式是否提前终止,通过场景深度图判断虚拟相机的视线向量与场景的交点,在交点之后不进行渲染,提前终止光线步进进程。
4.根据权利要求3所述的参与介质实时渲染的时域升采样方法,其特征在于,所述利用偏移后投影矩阵并采用光线步进方式对参与介质进行非连续像素渲染,包括:
使用预先生成的体素数据并结合包围盒区域,通过光线步进方式沿虚拟相机的视线向量分布采样点,通过在各采样点对参与介质的密度进行采样来累积当前位置透射率的变化,接着在各采样点处再沿光照方向进行光照着色样本的计算和累积,最终得到屏幕上每个像素所对应的参与介质的渲染颜色图像和穿过参与介质的平均距离,该平均距离组成渲染深度图像。
5.根据权利要求4所述的参与介质实时渲染的时域升采样方法,其特征在于,光照着色时,支持自定义的多重散射阶数,根据多重散射阶数的不同,计算光照时对采样点处的消光系数和散射系数进行逐阶衰减,并将所使用的相函数逐阶同均匀分布的相函数进行混合,以模拟多重散射的效果。
6.根据权利要求4所述的参与介质实时渲染的时域升采样方法,其特征在于,所述穿过参与介质的平均距离的计算过程包括:
对于虚拟相机的视线向量上每个参与介质密度不为零的采样点,以当前采样点的透射率作为权重,累积参与介质的加权深度,同时累积透射率作为权重值,穿过参与介质的平均距离为所有采样点的加权深度与权重值之比。
7.根据权利要求1所述的参与介质实时渲染的时域升采样方法,其特征在于,所述根据亚像素偏移量对参与介质的渲染图像进行时域重建,包括:
依据亚像素偏移量确认需要重投影的像素,针对每个需重投影的像素,通过重投影矩阵投影到上一帧的像素位置,当投影后的像素位置处于上一帧的屏幕空间,则认为重投影成功,并在投影后的像素位置采样上一帧的颜色数据和深度数据,通过临近像素处理策略对上一帧颜色数据和深度数据进行处理,处理后数据作为重建图像的像素输出;
针对重投影失败的像素,在该像素位置的参与介质的低分辨率渲染图像上采用双线性插值采集颜色数据和深度数据,将其作为重建图像的像素输出。
8.根据权利要求7所述的参与介质实时渲染的时域升采样方法,其特征在于,所述临近像素处理策略包括:
首先根据深度数据是否连续进行分类,深度数据的连续性采用下式进行判断:
abs(Depthp-Depthhis)>Depthp*β (1)
其中,Depthp是通过当前场景深度图恢复出来的场景点与虚拟相机之间的距离,Depthhis是通过采样历史帧深度数据恢复出来的场景点与虚拟相机之间的距离,abs(·)表示取绝对值,β表示处于0-1之间的小数;
若满足式(1),则认为重投影后的像素深度数据不连续,根据重投影后的像素深度信息是否连续,分为以下两种策略:
策略一:对于深度数据不连续的像素位置,以当前帧的深度数据为基准,使用当前像素一定半径内和当前帧场景深度最接近的像素的颜色和深度值;
策略二:对于深度数据连续的位置,用当前像素一定半径范围内的像素颜色值对历史帧的颜色数据进行限制,历史帧的颜色不能超过范围内像素最大和最小值,超过范围则以最大或最小值为准。
9.根据权利要求1所述的参与介质实时渲染的时域升采样方法,其特征在于,将重建分辨率下的重建图像进行升采样时,采用双线性插值升采样、使用时域抖动的升采样、双边升采样中的一种或者多种结合。
10.一种参与介质实时渲染的时域升采样装置,其特征在于,包括降采样模块、偏移量生成模块、参与介质渲染模块、时域重建模块、升采样模块;
所述降采样模块用于对场景深度图进行降采样得到渲染分辨率的场景深度图;
所述偏移量生成模块用于基于时域图像样本生成亚像素偏移量;
所述参与介质渲染模块用于基于亚像素偏移量和渲染分辨率的场景深度图对参与介质进行非连续像素渲染,得到参与介质的渲染分辨率下的渲染图像;
所述时域重建模块用于根据亚像素偏移量对参与介质的渲染图像进行时域重建;
所述升采样模块用于将重建分辨率下的重建图像进行升采样,得到参与介质的原始分辨率的渲染图像。
其中,原始分辨率≥重建分辨率>渲染分辨率。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311260756.5A CN117333364A (zh) | 2023-09-27 | 2023-09-27 | 一种参与介质实时渲染的时域升采样方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311260756.5A CN117333364A (zh) | 2023-09-27 | 2023-09-27 | 一种参与介质实时渲染的时域升采样方法和装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117333364A true CN117333364A (zh) | 2024-01-02 |
Family
ID=89282331
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311260756.5A Pending CN117333364A (zh) | 2023-09-27 | 2023-09-27 | 一种参与介质实时渲染的时域升采样方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117333364A (zh) |
-
2023
- 2023-09-27 CN CN202311260756.5A patent/CN117333364A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6791540B1 (en) | Image processing apparatus | |
Weier et al. | Foveated real‐time ray tracing for head‐mounted displays | |
US11036123B2 (en) | Video presentation device, method thereof, and recording medium | |
Wetzstein et al. | Layered 3D: tomographic image synthesis for attenuation-based light field and high dynamic range displays | |
US6215496B1 (en) | Sprites with depth | |
US8160391B1 (en) | Panoramic image fill | |
JP4047387B2 (ja) | 立体画像ディスプレイ駆動装置 | |
US20110181606A1 (en) | Automatic and semi-automatic generation of image features suggestive of motion for computer-generated images and video | |
US20150131924A1 (en) | Creation of Rectangular Images from Input Images | |
US20050219249A1 (en) | Integrating particle rendering and three-dimensional geometry rendering | |
US20090040220A1 (en) | Hybrid volume rendering in computer implemented animation | |
US10924727B2 (en) | High-performance light field display simulator | |
EP0570718A2 (en) | Method and apparatus for graphically generating images of arbitrary size and high resolution | |
US20130342758A1 (en) | Video retargeting using content-dependent scaling vectors | |
JPH0778267A (ja) | 陰影を表示する方法及びコンピュータ制御表示システム | |
Ledda et al. | A wide field, high dynamic range, stereographic viewer | |
CN112055213B (zh) | 用于生成压缩图像的方法、系统和介质 | |
US20080024389A1 (en) | Generation, transmission, and display of sub-frames | |
JP2006526834A (ja) | ボリューム・レンダリング用の適応画像補間 | |
GB2256568A (en) | Image generation system for 3-d simulations | |
US20070132967A1 (en) | Generation of image data subsets | |
JP3778326B2 (ja) | 計算機ホログラム表示方法、装置、および、計算機ホログラム表示プログラムを記録した記録媒体 | |
CN117333364A (zh) | 一种参与介质实时渲染的时域升采样方法和装置 | |
JP7387029B2 (ja) | ソフトレイヤ化および深度認識インペインティングを用いた単画像3d写真技術 | |
Mora et al. | Visualization and computer graphics on isotropically emissive volumetric displays |
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 |