CN103886636B - 基于光线投射步进补偿的实时烟雾渲染算法 - Google Patents

基于光线投射步进补偿的实时烟雾渲染算法 Download PDF

Info

Publication number
CN103886636B
CN103886636B CN201410039593.2A CN201410039593A CN103886636B CN 103886636 B CN103886636 B CN 103886636B CN 201410039593 A CN201410039593 A CN 201410039593A CN 103886636 B CN103886636 B CN 103886636B
Authority
CN
China
Prior art keywords
radial basis
basis function
scattering
smoke
function
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.)
Expired - Fee Related
Application number
CN201410039593.2A
Other languages
English (en)
Other versions
CN103886636A (zh
Inventor
张丹
董建锋
张大龙
李盼
赵磊
许端清
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Zhejiang University ZJU
Original Assignee
Zhejiang University ZJU
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Zhejiang University ZJU filed Critical Zhejiang University ZJU
Priority to CN201410039593.2A priority Critical patent/CN103886636B/zh
Publication of CN103886636A publication Critical patent/CN103886636A/zh
Application granted granted Critical
Publication of CN103886636B publication Critical patent/CN103886636B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Image Generation (AREA)

Abstract

本发明公开了一种基于光线投射步进补偿的实时烟雾渲染方法,将原始烟雾的密度场序列函数分解成一组带权重的径向基函数和一个残余场,并计算所有径向基函数中心的源辐射值,根据光线投射法,确定视点光线与原始烟雾的交点,通过各个径向基函数中心的源辐射值计算各个交点的源辐射值,并根据所有交点的源辐射值计算各个像素点的辐射能量,进而完成图像渲染。本发明的实时烟雾渲染方法大大降低数据总量从而节省内存,提高了烟雾渲染的速度,能够实现实时烟雾渲染,且光线投射法确定视点光线与原始烟雾的交点,在光线步进中对利用残余场对视点光线的辐射能量进行补偿,处理快且能够较好的保留原始烟雾的细节,提高渲染效果。

Description

基于光线投射步进补偿的实时烟雾渲染算法
技术领域
本发明涉及计算机图形领域,尤其涉及一种基于光线投射步进补偿的实时烟雾渲染算法。
背景技术
烟雾渲染是通过各种方法将场景渲染成一个将烟雾作为参与媒介以模拟烟雾效果的过程。人们在对参与媒体的实际的模拟上已经做了大量的研究工作,虽然以前的技术已经可以在静态画面上做出令人印象深刻的渲染效果,但他们没有提供一种可以对实时动画序列进行渲染的有效方法。烟雾作为最常见的自然景物之一,它在游戏、电影特效中有着重要的作用。
近年来,随着烟雾的应用越来越广,吸引了许多国内外学者的研究,很多新的方法涌现出来,并能得到一些比较好的效果。目前烟雾模拟的方法主要有:基于物理模型模拟、基于粒子系统模拟、基于密度函数模拟等。Ebert[1990]在进行扩散模拟时,简单的假定光线传播过程中最多只进行一次扩散,Max[1994]将该理论运用在参与媒介的渲染中,虽然该类方法非常的简单,但是它的模拟效果也比较差。Stam[1993]提出了扩散过程的多重散射模拟方法,揭示了单散射的弊端,通过传输理论进行扩散的近似模拟推导,因为需要很高的计算代价和巨大的存储需要他提出的方法不能很好的在3维场景中运用。采用Navier-Stokes方程和半拉格朗日方法求解烟雾的物理模型方程来模拟烟雾动画,该方法根据流体力学原理进行物理模型的建立,并通过微分方程离散化计算烟雾的速度场和密度场,需要求解复杂的非线性方程组,不能达到实时性要求。采用粒子系统原理进行烟雾效果的模拟,使用大量具有一定生命周期和属性的粒子作为烟雾模拟的基本元素,这类方法的问题在于对烟雾运动建模不够精准,没有考虑到烟雾的扩散特性。ZHUO[2008]提出了结合流体力学和粒子系统进行烟雾效果的模拟,并采用空间分割树进行碰撞检测,该方法效果较好,但是需要进行复杂的计算,非常耗费时间。
烟雾渲染因为对光线的传播有着复杂的作用,一直是计算机图形学中非常具有挑战性的问题。由于烟雾空间不均匀,在烟雾中,光线在每个点上都会经历吸收和散射现象。在静态参与媒介中,散射作用的数量和复杂性导致庞大的计算开支。对于像烟雾这样的动态媒介,结构的体积会随着时间动态变化,其计算成本将会高到无法承受。
发明内容
本发明提供了一种基于光线投射步进补偿的实时烟雾渲染算法,大大地减少了时间和内存的消耗,且容易实施。
一种基于光线投射步进补偿的实时烟雾渲染方法,包括:
(1)将原始烟雾的体积密度场序列函数分解成若干个带权重的径向基函数和一个残余场函数,并确定各个径向基函数的中心和半径,以带权重的径向基函数的加权和为原始烟雾的近似密度函数;
(2)分别计算各个径向基函数的中心的单散射的源辐射值和多重散射的源辐射值,并将各个径向基函数中心的单散射的源辐射和多重散射的源辐射值相加得到相应径向基函数中心处的源辐射值;
(3)针对待渲染图像中的任意一个像素点,采用光线投射法的确定视点光线与原始烟雾的交点;
(4)根据所有径向基函数中心处的源辐射值、残余场函数和近似密度函数,计算当前像素点对应的各个交点的源辐射值,并根据当前像素点对应的所有交点的源辐射值计算得到当前像素点的辐射能量;
(5)根据待渲染图像中所有像素点的辐射能量对待渲染图像中进行渲染,得到渲染图像。
步骤(1)得到径向基函数实际上为一个关于原始烟雾中点的坐标的函数,当涉及到具体的点时,即取相应点的函数值。
本发明实时烟雾渲染方法中首先将输入的由体积密度场序列代表的烟雾密度分解成一组带权重的径向基函数和一个残余场,然后计算所有径向基函数中心处的源辐射值,根据光线投射法的确定视点光线与原始烟雾的交点,通过交点与径向基函数的对应关系,计算得到该视点光线与原始烟雾的交点的所有交点的源辐射值,并根据所有交点的源辐射值计算当前像素点的辐射能量,并进一步得到所有待渲染图像中所有像素点的辐射能量完成图像渲染。
本发明的实时烟雾渲染方法用赋予权值的径向基函数近似表示原始烟雾,实际上可理解为将原始烟雾进行分割为若干个部分,大大降低数据总量从而节省内存,提高了烟雾渲染的速度,能够实现实时烟雾渲染。且通过光线投射法确定视点光线与原始烟雾的交点,在光线步进中对利用残余场对视点光线的辐射能量进行补偿,处理快且能够较好的保留原始烟雾的细节,提高渲染效果。
所述步骤(1)包括步骤:
(1-1)设定径向基函数的个数,并根据原始烟雾的分布和径向基函数的个数确定各个径向基函数的中心;
(1-2)根据设定的径向基函数的个数,通过求取:
的最小值的解的方法得到带权重的径向基函数和残余场,以及各个径向基函数的中心和半径,其中D(x)为原始烟雾体积密度场序列函数,x为原始烟雾中任意一个点的坐标,Bo(x)为径向基函数,其中o=1,2……n,n为径向基函数的个数,wo为径向基函数Bo(x)的权重,为近似密度函数。
所述步骤(2)中根据以下步骤计算各个径向基函数的中心单散射的源辐射值:
(211)对于任意一个径向基函数,根据当前径向基函数和单位径向基函数的中心,确定当前径向基函数与各个单位径向基函数相关的散射方向并形成当前径向基函数的散射方向集;
(212)确定当前径向基函数的中心在散射方向集中任意一个散射方向上与原始烟雾的交点以及与各个交点对应的径向基函数,分别根据同一散射方向上的交点对应的径向基函数形成当前径向基函数在相应散射方向上的相关径向基函数集;
(213)根据:
计算当前径向基函数的中心在各个散射方向上相对于各个散射方向对应的相关径向基函数集中径向基函数的光深度值,其中,
αu为当前径向基函数的散射方向集中的任意一个散射方向,
Bm(x)为当前径向基函数的中心在散射方向αu上相对于散射方向αu上的相关径向基函数集中径向基函数,
为当前径向基函数的中心的坐标,当前径向基函数的中心记为中心
表示从当前径向基函数Bl(x)的中心沿散射方向αu发出与原始烟雾的最后一个交点的坐标,
为当前径向基函数的中心在散射方向αu上相对于径向基函数Bm(x)的光深度值;
(214)根据:
计算当前径向基函数在相应的散射方向集中各个散射方向上的透光率,σt是消光截面,
Mu为当前径向基函数在散射方向αu的相关径向基函数集,
wm为光深度值对应的径向基函数Bm(x)的权重,表示对当前径向基函数的相关径向基函数集Mu中各个径向基函数集对应的求和;
(215)利用当前径向基函数在相应的散射方向集合中所有散射方向上的近似透光率根据:
计算当前径向基函数中心的单散射的源辐射值,Ω是单散射反射率,S为当前径向基函数Bl的散射方向集,Linu)为源光照在散射方向αu方向上的能量,表示对散射方向集S中各个散射方向对应的求和。
对于任意一个当前径向基函数均进行步骤(211)~(215)从而得到所有径向基函数的中心的单散射的源辐射值。步骤(211)~(215)计算得到的中心的单散射的源辐射值实际上为该中心的单散射的源辐射值的近似值。
所述的单位径向基函数为半径为1的基函数。
所述步骤(211)中当前径向基函数与单位径向基函数Bu(x)相关的散射方向根据:
计算,du为当前径向基函数Bl(x)的中心到单位径向基函数Bu(x)中心的距离。
一个径向基函数相对于一个单位径向基函数存在一个散射方向,因此一个径向基函数的散射方向的个数与单位该原始烟雾分解得到的径向基函数中单位径向基函数的个数有关。
所述步骤(212)中将中心与交点的距离小于半径的径向基函数作为该交点对应的径向基函数。
所述步骤(212)中根据同一散射方向上的交点对应的径向基函数形成当前径向基函数在相应散射方向上的相关径向基函数集时保证该交点所有对应的相同的径向基函数只取一次,可通过以下步骤进行:
先初始化一个相关径向基函数集,逐个将同一散射方向上的交点对应的径向基函数写入该相关径向基函数集中,每次先判断待写入的径向基函数与相关径向基函数集中的所有元素比较,若相关径向基函数集存在与待写入的径向基函数的相同,则不写入该相关径向基函数集中,否则写入该相关径向基函数集中。
所述步骤(2)中根据:
计算当前径向基函数的中心多重散射的源辐射值,其中,是径向基函数Bl的中心的多重散射的源辐射值;
是原始烟雾在径向基函数Bl的中心沿散射方向αu的辐射能量,根据:
计算得到,根据径向基函数Bl(x)和径向基函数Bl(x)的中心的梯度利用扩散方程计算得到;
其中, 的梯度,为原始烟雾在径向基函数Bl(x)的中心的近似密度函数值。
所述步骤(4)包括步骤:
(4-1)根据:
计算当前像素点的视点光线与原始烟雾的各个交点的源辐射值,βi为当前像素点的视点方向,
为当前像素点在视点方向βi上与原始烟雾的第k个交点的坐标,该交点记为烟雾交点k=1,2……K,K为当前像素点的视点光线与原始烟雾的各个交点个数;
为径向基函数Bl(x)在烟雾交点处的函数值,
为烟雾交点处的残余场函数的函数值,
为烟雾交点处的近似密度,
为径向基函数Bl(x)中心的源辐射值,
(4-2)根据公式:
计算待渲染图像中的任意一个像素点在相应视点方向上的辐射能量,其中:为待渲染图像中的任意一个像素点的坐标,该像素点记为像素点i=1,2……I,I为待渲染图像中像素点总数,
βi为像素点的视点方向;
为待渲染图像中的像素点在视点方向βi上与场景的交点的坐标,该交点记为场景交点
Lini)是源光照在视点方向βi上的能量;
是像素点在视点方向βi上与场景交点之间的透光率。
所述的步骤(1)中设定径向基函数的个数n的取值为600~1200。n的个数决定了计算的复杂程度和渲染的效果,如果n过大会导致渲染速度很慢,不能达到实时性要求,如果n过小虽然速度快,但是不能得到很好的渲染效果,在实验中进行数据测试,得到上述取值范围。
与现有技术相比,本发明的有益效果为:
(1)本发明的实时烟雾渲染方法中将原始烟雾的密度场序列分解成径向基函数空间和残余场可以大大降低数据总量,节省内存;
(2)本发明的实时烟雾渲染方法将源辐射能量的评估分为单散射和多重散射,简化计算复杂性;
(3)本发明的实时烟雾渲染方法只计算了原始烟雾中各个径向基函数中心的源辐射值,直接利用各个径向基函数中心的源辐射值来计算各个像素点的辐射能量进而完成烟雾渲染,降低算法复杂度,提高算法效率;
(4)本发明实时烟雾渲染方法通过光线投射法确定视点光线与原始烟雾的交点,在光线步进中对利用残余场对视点光线的辐射能量进行补偿,处理快且能够较好的保留原始烟雾的细节,提高渲染效果。
具体实施方式
下面将结合具体实施例对本发明进行详细说明。
一种基于光线投射步进补偿的实时烟雾渲染方法,包括:
(1)将原始烟雾的体积密度场序列函数分解成若干个带权重的径向基函数和一个残余场函数,并确定各个径向基函数的中心和半径,以带权重的径向基函数的加权和为原始烟雾的近似密度函数,具体如下:(1-1)设定径向基函数的个数,并根据原始烟雾的分布和径向基函数的个数确定各个径向基函数的中心;
(1-2)根据设定的径向基函数的个数,通过求取:
的最小值的解的方法得到带权重的径向基函数和残余场,以及各个径向基函数的中心和半径,其中D(x)为原始烟雾体积密度场序列函数,x为原始烟雾中任意一个点的坐标,Bo(x)为径向基函数,其中o=1,2……n,n为径向基函数的个数(本实施例中n=800),wo为径向基函数Bo(x)的权重,为近似密度函数
(2)分别计算各个径向基函数的中心的单散射的源辐射值和多重散射的源辐射值,并将各个径向基函数中心的单散射的源辐射和多重散射的源辐射值相加得到相应径向基函数中心处的源辐射值;
其中,各个径向基函数的中心单散射的源辐射值根据以下步骤计算:
(211)对于任意一个径向基函数,根据当前径向基函数和单位径向基函数的中心,确定当前径向基函数与各个单位径向基函数相关的散射方向并形成当前径向基函数的散射方向集。
当前径向基函数与任意一个单位径向基函数Bu(x)相关的散射方向根据:
计算,du为当前径向基函数Bl(x)的中心到单位径向基函数Bu(x)中心的距离。
一个径向基函数相对于一个单位径向基函数存在一个散射方向,因此一个径向基函数的散射方向的个数与该原始烟雾分解得到的径向基函数中单位径向基函数的个数有关。
(212)确定当前径向基函数的中心在散射方向集中任意一个散射方向上与原始烟雾的交点以及与各个交点对应的径向基函数,分别根据同一散射方向上的交点对应的径向基函数形成当前径向基函数在相应散射方向上的相关径向基函数集;
(213)根据:
计算当前径向基函数的中心在各个散射方向上相对于各个散射方向对应的相关径向基函数集中径向基函数的光深度值,其中,
αu为当前径向基函数的散射方向集中的任意一个散射方向,
Bm(x)为当前径向基函数的中心在散射方向αu上相对于散射方向αu上的相关径向基函数集中的径向基函数,
为当前径向基函数的中心的坐标,当前径向基函数的中心记为中心
表示从当前径向基函数Bl(x)的中心沿散射方向αu发出与原始烟雾的最后一个交点的坐标,
为当前径向基函数的中心在散射方向αu上相对于径向基函数Bm(x)的光深度值;
(214)根据:
计算当前径向基函数在相应的散射方向集中各个散射方向上的透光率,σt是消光截面,
Mu为当前径向基函数在散射方向αu的相关径向基函数集,
wm为光深度值对应的径向基函数Bm(x)的权重,表示对当前径向基函数的相关径向基函数集Mu中各个径向基函数集对应的求和;
(215)利用当前径向基函数在相应的散射方向集合中所有散射方向上的近似透光率根据:
计算当前径向基函数中心的单散射的源辐射值,Ω是单散射反射率,S为当前径向基函数Bl的散射方向集,Linu)为源光照在散射方向αu方向上的能量,表示对散射方向集S中各个散射方向对应的求和。
本实例中单位径向基函数为半径为1的基函数。
本实例中将中心与交点的距离小于半径的径向基函数作为该交点对应的径向基函数。
对于任意一个当前径向基函数均进行步骤(211)~(215)从而得到所有径向基函数的中心的单散射的源辐射值。步骤(211)~(215)计算得到的中心的单散射的源辐射值实际上为该中心的单散射的源辐射值的近似值。
各个径向基函数的中心多重散射的源辐射值根据:
计算,其中,是径向基函数Bl的中心的多重散射的源辐射值;
是原始烟雾在径向基函数Bl的中心沿散射方向αu的辐射能量,根据:
计算得到,根据径向基函数Bl(x)和径向基函数Bl(x)的中心的梯度利用扩散方程计算得到;
其中, 的梯度,为原始烟雾在径向基函数Bl(x)的中心的近似密度函数值。
(3)针对待渲染图像中的任意一个像素点,采用光线投射法的确定视点光线与原始烟雾的交点;
(4)根据所有径向基函数中心处的源辐射值、残余场函数和近似密度函数,计算当前像素点对应的各个交点的源辐射值,并根据当前像素点对应的所有交点的源辐射值计算得到当前像素点的辐射能量,具体过程如下:
(4-1)根据:
计算当前像素点的视点光线与原始烟雾的各个交点的源辐射值,βi为当前像素点的视点方向,
为当前像素点在视点方向βi上与原始烟雾的第k个交点的坐标,该交点记为烟雾交点k=1,2……K,K为当前像素点的视点光线与原始烟雾的各个交点个数;
为径向基函数Bl(x)在烟雾交点处的函数值,
为烟雾交点处的残余场函数的函数值,
为烟雾交点处的近似密度,
为径向基函数Bl(x)中心的源辐射值,
(4-2)根据公式:
计算待渲染图像中的任意一个像素点在相应视点方向上的辐射能量,其中:为待渲染图像中的任意一个像素点的坐标,该像素点记为像素点i=1,2……I,I为待渲染图像中像素点总数(本实施例中I=600*800),
βi为像素点的视点方向;
为待渲染图像中的像素点在视点方向βi上与场景的交点的坐标,该交点记为场景交点
Lini)是源光照在视点方向βi上的能量;
是像素点在视点方向βi上与场景交点之间的透光率。
(5)通过步骤(1)~(4)得到待渲染图像中所有像素点的辐射能量,然后根据待渲染图像中所有像素点的辐射能量对待渲染图像中进行渲染,得到渲染图像。
以上所述,仅为本发明的具体实施方式,但本实用新型的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。

Claims (7)

1.一种基于光线投射步进补偿的实时烟雾渲染方法,其特征在于,包括:
(1)将原始烟雾的体积密度场序列函数分解成若干个带权重的径向基函数和一个残余场函数,并确定各个径向基函数的中心和半径,以带权重的径向基函数的加权和为原始烟雾的近似密度函数;
(2)分别计算各个径向基函数的中心的单散射的源辐射值和多重散射的源辐射值,并将各个径向基函数中心的单散射的源辐射和多重散射的源辐射值相加得到相应径向基函数中心处的源辐射值;
所述步骤(2)中根据以下步骤计算各个径向基函数的中心单散射的源辐射值:
(211)对于任意一个径向基函数,根据当前径向基函数和单位径向基函数的中心,确定当前径向基函数与各个单位径向基函数相关的散射方向并形成当前径向基函数的散射方向集;
(212)确定当前径向基函数的中心在散射方向集中任意一个散射方向上与原始烟雾的交点以及与各个交点对应的径向基函数,分别根据同一散射方向上的交点对应的径向基函数形成当前径向基函数在相应散射方向上的相关径向基函数集;
(213)根据:
T m ( x c l , α u ) = ∫ x c l ∞ α u B m ( x ) d x
计算当前径向基函数的中心在各个散射方向上相对于各个散射方向对应的相关径向基函数集中径向基函数的光深度值,其中,
αu为当前径向基函数的散射方向集中的任意一个散射方向,
Bm(x)为当前径向基函数的中心在散射方向αu上相对于散射方向αu上的相关径向基函数集中的径向基函数,
为当前径向基函数的中心的坐标,当前径向基函数的中心记为中心
表示从当前径向基函数Bl(x)的中心沿散射方向αu发出与原始烟雾的最后一个交点的坐标,
为当前径向基函数的中心在散射方向αu上相对于径向基函数Bm(x)的光深度值;
(214)根据:
τ ~ ( x c l , α u ) = e - σ t Σ M u w m T m ( x c l , α u )
计算当前径向基函数在相应的散射方向集中各个散射方向上的透光率,σt是消光截面,
Mu为当前径向基函数在散射方向αu的相关径向基函数集,
wm为光深度值对应的径向基函数Bm(x)的权重,表示对当前径向基函数的相关径向基函数集Mu中各个径向基函数集对应的求和;
(215)利用当前径向基函数在相应的散射方向集合中所有散射方向上的近似透光率,根据:
J ~ s s ( x c l ) = Ω 4 π Σ S L i n ( α u ) τ ~ ( x c l , α u )
计算当前径向基函数中心的单散射的源辐射值,Ω是单散射反射率,S为当前径向基函数Bl的散射方向集,Linu)为源光照在散射方向αu方向上的能量,表示对散射方向集S中各个散射方向对应的求和;
所述步骤(212)中将中心与交点的距离小于半径的径向基函数作为该交点对应的径向基函数;
(3)针对待渲染图像中的任意一个像素点,采用光线投射法确定视点光线与原始烟雾的交点;
(4)根据所有径向基函数中心处的源辐射值、残余场函数和近似密度函数,计算当前像素点对应的各个交点的源辐射值,并根据当前像素点对应的所有交点的源辐射值计算得到当前像素点的辐射能量;
(5)根据待渲染图像中所有像素点的辐射能量对待渲染图像中进行渲染,得到渲染图像。
2.如权利要求1所述的基于光线投射步进补偿的实时烟雾渲染方法,其特征在于,所述步骤(1)包括步骤:
(1-1)设定径向基函数的个数,并根据原始烟雾的分布和径向基函数的个数确定各个径向基函数的中心;
(1-2)根据设定的径向基函数的个数,通过求取:
min ( Σ x [ D ( x ) - Σ o = 1 n w o B o ( x ) ] 2 )
的最小值的解的方法得到带权重的径向基函数和残余场,以及各个径向基函数的中心和半径,其中D(x)为原始烟雾体积密度场序列函数,x为原始烟雾中任意一个点的坐标,Bo(x)为径向基函数,其中o=1,2……n,n为径向基函数的个数,wo为径向基函数Bo(x)的权重,为近似密度函数
3.如权利要求2所述的基于光线投射步进补偿的实时烟雾渲染方法,其特征在于,所述的单位径向基函数为半径为1的径向基函数。
4.如权利要求3所述的基于光线投射步进补偿的实时烟雾渲染方法,其特征在于,所述步骤(211)中当前径向基函数与单位径向基函数Bu(x)相关的散射方向根据:
计算,du为当前径向基函数Bl(x)的中心到单位径向基函数Bu(x)中心的距离。
5.如权利要求4所述的基于光线投射步进补偿的实时烟雾渲染方法,其特征在于,所述步骤(2)中根据:
J ~ m s ( x c l ) = Ω 4 π Σ S L m ( x c l , α u )
计算当前径向基函数的中心多重散射的源辐射值,其中,是径向基函数Bl的中心的多重散射的源辐射值;
是原始烟雾在径向基函数Bl的中心沿散射方向αu的辐射能量,根据:
L m ( x c l , α u ) = L m 0 ( x c l ) + L m 1 ( x c l ) · α u
计算得到,根据径向基函数Bl(x)和径向基函数Bl(x)的中心的梯度利用扩散方程计算得到;
L m 1 ( x c l ) = k ( x c l ) ( - ▿ L m 0 ( x c l ) + σ t D ~ ( x c l ) J ~ s s ( x c l ) ) ,
其中, 的梯度,为原始烟雾在径向基函数Bl(x)的中心的近似密度函数值。
6.如权利要求5所述的基于光线投射步进补偿的实时烟雾渲染方法,其特征在于,所述步骤(4)包括步骤:
(4-1)根据:
J ~ D ( x β i k , β i ) = ( 1 + R ( x β i k ) D ~ ( x β i k ) ) ( Σ l = 1 n w l B l ( x β i k ) ( J ~ ( x c l ) ) )
计算当前像素点的视点光线与原始烟雾的各个交点的源辐射值,βi为当前像素点的视点方向,
为当前像素点在视点方向βi上与原始烟雾的第k个交点的坐标,该交点记为烟雾交点k=1,2……K,K为当前像素点的视点光线与原始烟雾的各个交点个数;
为径向基函数Bl(x)在烟雾交点处的函数值,
为烟雾交点处的残余场函数的函数值,
为烟雾交点处的近似密度,
为径向基函数Bl(x)中心的源辐射值,
J ~ ( x c l ) = J ~ s s ( x c l ) + J ~ m s ( x c l ) .
(4-2)根据公式:
L ( x P i , β i ) ≈ τ ( x Q i , x P i ) L i n ( β i ) + Σ k = 1 K σ t J ~ D ( x β i k , β i )
计算待渲染图像中的任意一个像素点在相应视点方向上的辐射能量,其中:为待渲染图像中的任意一个像素点的坐标,该像素点记为像素点i=1,2……I,I为待渲染图像中像素点总数,
βi为像素点的视点方向;
为待渲染图像中的像素点在视点方向βi上与场景的交点的坐标,该交点记为场景交点
Lini)是源光照在视点方向βi上的能量;
是像素点在视点方向βi上与场景交点之间的透光率。
7.如权利要求6所述的基于光线投射步进补偿的实时烟雾渲染方法,其特征在于,所述的步骤(1)中设定径向基函数的个数n的取值为600~1200。
CN201410039593.2A 2014-01-28 2014-01-28 基于光线投射步进补偿的实时烟雾渲染算法 Expired - Fee Related CN103886636B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410039593.2A CN103886636B (zh) 2014-01-28 2014-01-28 基于光线投射步进补偿的实时烟雾渲染算法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410039593.2A CN103886636B (zh) 2014-01-28 2014-01-28 基于光线投射步进补偿的实时烟雾渲染算法

Publications (2)

Publication Number Publication Date
CN103886636A CN103886636A (zh) 2014-06-25
CN103886636B true CN103886636B (zh) 2017-02-15

Family

ID=50955506

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410039593.2A Expired - Fee Related CN103886636B (zh) 2014-01-28 2014-01-28 基于光线投射步进补偿的实时烟雾渲染算法

Country Status (1)

Country Link
CN (1) CN103886636B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109934902B (zh) * 2019-03-13 2020-08-11 南京大学 一种使用场景特征约束的梯度域渲染图像重构方法
CN112489181B (zh) * 2020-11-04 2024-09-20 杭州电魂网络科技股份有限公司 基于球谐函数的体积渲染方法、装置、设备和存储介质
CN115115747A (zh) * 2021-03-09 2022-09-27 网易(杭州)网络有限公司 光照渲染方法、装置、电子设备及存储介质

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090040220A1 (en) * 2007-02-05 2009-02-12 Jonathan Gibbs Hybrid volume rendering in computer implemented animation
CN101894390B (zh) * 2010-06-29 2012-07-04 浙江大学 一种非常数折射率介质中的光线跟踪方法
CN102346918B (zh) * 2011-09-30 2013-08-21 长春理工大学 一种只包含物体变化的三维动画场景的绘制方法
CN102496178B (zh) * 2011-10-26 2014-06-25 北京航空航天大学 基于单视点图像的烟雾三维密度场的生成方法
CN103093491A (zh) * 2013-01-18 2013-05-08 浙江大学 基于多视点视频的三维模型高真实感虚实结合渲染方法

Also Published As

Publication number Publication date
CN103886636A (zh) 2014-06-25

Similar Documents

Publication Publication Date Title
Bock Visualization of Tropical Cyclone-Ocean Interactions
CN107392835B (zh) 一种粒子系统的处理方法及装置
CN101281654A (zh) 一种基于八叉树的大规模复杂三维场景处理方法
CN105488844B (zh) 一种三维场景中海量模型实时阴影的显示方法
CN103679802A (zh) 基于屏幕空间的sph流体表面实时绘制方法
CN106342298B (zh) 一种多点爆炸效果的实时生成方法
CN103886636B (zh) 基于光线投射步进补偿的实时烟雾渲染算法
CN110335275A (zh) 一种基于三变量双调和b样条的流体表面的时空向量化方法
Shardakov et al. Development of an adaptive module for visualization of the surrounding space for cloud educational environment
Dobashi et al. Visual simulation of clouds
Yun et al. Physically inspired, interactive lightning generation
Hoetzlein et al. Interactive water streams with sphere scan conversion
García-Feal et al. Advanced fluid visualization with DualSPHysics and Blender
CN106408639A (zh) 一种基于曲率流的屏幕空间流体渲染方法
CN107341849B (zh) 一种快速实时烟雾模拟算法
Nugroho et al. An Environmental Domain Awareness for Serious-Game Using Perlin Noise Base Heterogeneous Haze Visualization
Seron et al. Visualizing sunsets through inhomogeneous atmospheres
Dong et al. Smoke simulation based on particle system in virtual environments
Lou et al. Environmental design with huge landscape in real-time simulation system: Real-time simulation system applied to real project
US20070129918A1 (en) Apparatus and method for expressing wetting and drying on surface of 3D object for visual effects
Alsweis et al. Procedural techniques for simulating the growth of plant leaves and adapting venation patterns
Lou et al. Environmental design with huge landscape in real-time simulation system
Ding et al. Real-time rain and snow rendering
Tian Ocean wave simulation by the mix of FFT and Perlin Noise
Shen et al. Real-time dynamic simulation of 3D cloud for marine search and rescue simulator

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20170215

CF01 Termination of patent right due to non-payment of annual fee