CN117036601A - 导体的多次弹射微表面brdf模型建模方法 - Google Patents
导体的多次弹射微表面brdf模型建模方法 Download PDFInfo
- Publication number
- CN117036601A CN117036601A CN202310950747.2A CN202310950747A CN117036601A CN 117036601 A CN117036601 A CN 117036601A CN 202310950747 A CN202310950747 A CN 202310950747A CN 117036601 A CN117036601 A CN 117036601A
- Authority
- CN
- China
- Prior art keywords
- path
- function
- probability density
- ejection
- density 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 25
- 239000004020 conductor Substances 0.000 title claims abstract description 13
- 238000004364 calculation method Methods 0.000 claims abstract description 13
- 238000005070 sampling Methods 0.000 claims description 30
- 238000009826 distribution Methods 0.000 claims description 15
- 239000000463 material Substances 0.000 claims description 14
- 238000000342 Monte Carlo simulation Methods 0.000 claims description 5
- 238000005315 distribution function Methods 0.000 claims description 4
- 239000012634 fragment Substances 0.000 claims description 4
- 230000002457 bidirectional effect Effects 0.000 claims description 2
- 238000009877 rendering Methods 0.000 abstract description 10
- 238000005286 illumination Methods 0.000 description 5
- 230000000694 effects Effects 0.000 description 4
- 238000009795 derivation Methods 0.000 description 2
- 238000002310 reflectometry Methods 0.000 description 2
- 235000004035 Cryptotaenia japonica Nutrition 0.000 description 1
- 244000146493 Cryptotaenia japonica Species 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000005295 random walk Methods 0.000 description 1
Classifications
-
- 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
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computer Graphics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Geometry (AREA)
- Software Systems (AREA)
- Image Generation (AREA)
Abstract
本发明公开了一种导体的多次弹射微表面BRDF模型的建模方法,基于不变性原理对导体的多次弹射微表面BRDF模型进行建模。一方面,使用不变性原理推导得到路径贡献公式,推导简洁且计算效率更高;另一方面,提出了改进的概率密度函数公式,与真实概率密度函数拟合的更好;最后,该模型保证了无偏性。并且相比以前的BRDF模型,该模型的渲染结果在相同渲染时间下噪声更少。
Description
技术领域
本发明属于计算机图形学领域,具体地说,是一种导体的多次弹射微表面BRDF模型的建模方法。
背景技术
微表面模型是一种基于物理的材质模型。微表面模型将自然界中的物体的表面比作由一个个微表面组成。这些微表面被视为完美的平面,他们的朝向各不相同。常用的微表面模型为Cook-Torrance模型:
F为菲涅尔项,G表示遮挡项,D表示微表面上的表面法线的分布情况,简称NDF。其中的遮挡项描述了光线没有被其他微片遮挡而接触到微表面的比例,因此传统的微表面BRDF只能准确计算微表面内的单次弹射。
但是实际上光线在离开微表面之前是可以多次弹射的,尤其是对于那些比较粗糙的材质。所以单次弹射的微表面模型会导致明显的能量损失。要准确的计算光线在微平面模型中发生的多次弹射是一项困难的任务。有关微表面模型人们提出了各种假设,最常见的是Smith近似,即不论位置如何,NDF(法线分布函数)始终保持一致。Smith近似方法立即引出了微表面模型和体积介质之间的相似性,Heitz等人和Dupuy等人将微表面模型等价到一个介质并提出了随机游走的解决方案。他们的方法在介质内跟踪光线路径,记录每次反射的位置,并且能够产生准确的结果,但是收敛速度比较慢。Bitterli和d'Eon通过对指数分布的高度分布进行预积分减小了积分维度,从而得到无偏且收敛速度更快的模型,但是公式复杂,计算效率不高。Wang等人将高度无关性引入多次反射计算中,假设每次反射是独立的且只是共享一个方向。他们的模型在反射和折射方面噪声明显较小,且与任何特定的高度分布无关。然而,由于独立反射的假设,他们的结果是有偏的。同时,前面这些方法使用的概率密度函数都是粗略的近似,在光滑的材质上与真实概率密度函数差别比较大。
发明内容
本发明的目的是提供一种导体的多次弹射微表面BRDF模型建模方法,用于建模得到一个无偏、简洁且便于计算的导体的多次弹射Smith微表面BRDF模型,且该模型能够应用到一般的渲染器中。
为了实现上述目标,本发明提出了导体的多次弹射微表面BRDF模型的建模方法,包括以下三部分:
(1)计算函数:利用不变性原理推导得到路径贡献公式,然后使用单向或双向的路径追踪通过蒙特卡洛方法计算路径贡献积分得到BRDF值;
(2)采样函数:从入射方向开始路径追踪,在每个弹射处通过采样可见法线分布得到下一个方向,并根据该方向的遮蔽函数来决定是否出射;最终的出射方向作为采样得到的方向,并将该路径的路径贡献除以路径的概率密度函数作为采样权重;
(3)概率密度函数:使用各向同性介质的多次弹射方程来估计各向异性介质的概率密度函数。
其中计算函数具体如下:
路径空间中一条路径的贡献如下:
其中vi是第i项顶点项,Sk是长度为k+1的路径的片段项,是路径空间中的任一路径,di是路径中第i个方向。
顶点项的定义为:
其中F是菲涅尔项,D是法线分布函数,是第i弹射处的半程向量,ωg是几何法线(垂直于几何表面的宏观法线)。
片段项的推导基于不变性原理,即在一个介质上增加一层薄的同性质的介质并不会影响其反射性,因此这层额外的介质对BRDF带来的贡献应当为0。这层额外的介质对光线的影响分为四种情况:
(1)这层薄介质中的光线被吸收;
(2)在薄介质中光线发生散射且没有接触到下面的介质;
(3)在入射的时候发生了一次散射并进入到下面的介质,然后从出射方向离开介质并且没有发生散射;
(4)与情况(3)对称的情况。
这四种情况的总贡献应当为0,最终推导得到的片段项公式如下:
其中Λ为Lambda函数,不同的法线分布对应解析式不同。
有了路径贡献公式之后,通过蒙特卡洛方法计算路径空间上路径贡献的积分即可得到BRDF值,步骤如下:
(1)从入射方向d0开始进行路径追踪;
(2)进行一次俄罗斯轮盘赌并判断是否结束,如果结束则直接返回结果,否则继续;
(3)通过下次事件估计将路径与出射方向dk连接,计算路径贡献并加入到总贡献中;
(4)判断是否超过最大路径长度,如果超过则直接结束并返回结果,否则继续;
(5)通过可见法线分布采样得到一个新的方向作为入射方向并回到步骤(1)。采样函数步骤为:
(1)从入射方向开始,进行一次可见法线分布采样得到出射方向;
(2)计算出射方向的遮蔽函数作为出射的概率;
(3)根据步骤(2)得到的概率判断光线是否出射,如果没有出射那么就将这个出射方向作为入射方向并回到步骤(1),否则到步骤(4)。
(4)将最后一个方向作为出射方向并将最终路径的贡献除以路径的概率密度函数作为采样权重。
概率密度函数具体为:
使用各向同性介质的多次弹射方程来估计各向异性介质的多次弹射方程,多次弹射的概率密度函数如下:
其中ωg是几何法线(垂直于几何表面的宏观法线),ωi是入射方向,ωo是出射方向,H函数定义如下:
其中a是介质的albedo,将材质的粗糙度映射到介质的albedo上:
其中αx是材质在x方向上的粗糙度,αy是材质在y方向上的粗糙度。
最终的概率密度函数等于一次弹射的概率密度函数加上多次弹射的概率密度函数:
其中ωh是半程向量,ωi是入射方向,ωo是出射方向。
本发明的概率密度函数相比以前的简单近似与真实概率密度函数更加匹配,尤其是粗糙度低的材质。因此该概率密度函数在使用了多重重要性采样技术的渲染器中的效果会更好。
与现有技术相比,本发明具有以下优点:
(1)本发明是基于不变性原理对多次弹射微表面模型进行推导,得到的模型具有无偏性且公式简单,计算效率高。
(2)改进过后的概率密度函数与真实概率密度函数更加吻合,在使用了多重重要性采样技术的渲染器里改进后的概率密度函数能够产生更好的渲染结果。
本发明根据不变性原理建模得到多次弹射Smith微表面BRDF模型,在保证了结果的正确性下加快了计算速度。另外本发明还提出了一种新的概率密度函数,相比传统的简单近似,本发明的概率密度函数与真实概率密度函数更吻合,减少了渲染结果中的噪声。
附图说明
图1为额外的介质对光线的影响示意图。
图2为本发明方法中片段项计算的伪代码。
图3为本发明方法中计算函数的伪代码。
图4为本发明方法中采样函数的伪代码。
图5为使用了新旧概率密度函数渲染结果的对比。
图6为不同方法的直接光照渲染结果对比。
图7为不同方法的全局光照渲染结果对比。
图8为计算函数的流程图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施方法仅用以解释本发明,并不用于限定本发明。
本发明是一种基于不变性原理的导体的多次弹射微表面BRDF模型建模方法,要应用到渲染器中需要实现以下三个函数:
1.计算函数:计算函数在渲染器中的作用是计算BRDF值。其步骤如下:
首先一条路径的贡献如下:
其中vi是第i项顶点项,Sk是长度为k+1的路径的片段项。
顶点项的定义为:
其中F是菲涅尔项,D是法线分布函数,是第i弹射处的半程向量,ωg是几何法线(垂直于几何表面的宏观法线)。
片段项的推导基于不变性原理,即在一个介质上增加一层薄的同性质的介质并不会影响其反射性,因此这层额外的介质对BRDF带来的贡献应当为0。这层额外的介质对光线的影响如图1所示分为四种情况:
(1)这层薄介质中的光线被吸收;
(2)在薄介质中光线发生散射且没有接触到下面的介质;
(3)在入射的时候发生了一次散射并进入到下面的介质,然后从出射方向离开介质并且没有发生散射;
(4)与情况3对称的情况。
这四种情况的总贡献应当为0,最终推导得到的片段项公式如下:
其中Λ为Lambda函数,不同的法线分布对应解析式不同。图2中的伪代码详细说明了如何计算片段项。
有了路径贡献公式之后,通过蒙特卡洛方法计算路径空间上路径贡献的积分即可得到BRDF值,步骤如下:
(1)从入射方向d0开始进行路径追踪;
(2)进行一次俄罗斯轮盘赌并判断是否结束,如果结束则直接返回结果,否则继续;
(3)通过下次事件估计将路径与出射方向dk连接,计算路径贡献并加入到总贡献中;
(4)判断是否超过最大路径长度,如果超过则直接结束并返回结果,否则继续;
(5)通过可见法线分布采样得到一个新的方向作为入射方向并回到步骤(1)。
计算函数的伪代码如图3所示,流程图如图8所示。
2.采样函数:采样函数在渲染器中的作用是根据入射方向采样得到出射方向并返回一个采样权重。
采样函数步骤为:
(1)从入射方向开始,进行一次可见法线分布采样得到出射方向;
(2)计算出射方向的遮蔽函数作为出射的概率;
(3)根据步骤(2)得到的概率判断光线是否出射,如果没有出射那么就将这个出射方向作为入射方向并回到步骤(1),否则到步骤(4)。
(4)将最后一个方向作为出射方向并将最终路径的贡献除以路径的概率密度函数作为采样权重。
图4中的伪代码详细说明了如何进行采样。
3.概率密度函数:概率密度函数在多重重要性采样技术中用于计算多重重要性采样权重。
使用各向同性介质的多次弹射方程来估计各向异性介质的多次弹射方程。多次弹射的概率密度函数如下:
其中ωg是几何法线(垂直于几何表面的宏观法线),ωi是入射方向,ωo是出射方向,H函数定义如下:
其中a是介质的albedo,将材质的粗糙度映射到介质的albedo上:
其中αx是材质在x方向上的粗糙度,αy是材质在y方向上的粗糙度。
最终的概率密度函数等于一次弹射的概率密度函数加上多次弹射的概率密度函数:
其中ωh是半程向量,ωi是入射方向,ωo是出射方向。
新概率密度函数相比以前的简单近似与真实概率密度函数更加匹配,尤其是粗糙度低的材质。因此新概率密度函数在多重重要性采样中的效果会更好。图5详细展示了不同概率密度函数对渲染结果的影响。
该BRDF模型可以应用到大部分渲染器中,在mitsuba渲染器上实现了本发明的模型并与其他方法进行了对比。如图6所示,比较了不同方法的计算函数渲染的直接光照结果,本发明的方法相较于以前的方法,在保证了无偏性的同时具有更快的计算速度。如图7所示,比较了不同模型同时使用了计算函数、采样函数和概率密度函数的全局光照渲染结果,本发明的模型在包含了全局光照的复杂场景中依然占有优势。
Claims (4)
1.一种导体的多次弹射微表面BRDF模型建模方法,其特征在于,包括以下三部分:
(1)计算函数;利用不变性原理推导得到路径贡献公式,然后使用单向或双向的路径追踪通过蒙特卡洛方法计算路径贡献积分得到BRDF值;
(2)采样函数;从入射方向开始路径追踪,在每个弹射处通过采样可见法线分布得到下一个方向,并根据该方向的遮蔽函数来决定是否出射;最终的出射方向作为采样得到的方向,并将该路径的路径贡献除以路径的概率密度函数作为采样权重;
(3)概率密度函数;使用各向同性介质的多次弹射方程来估计各向异性介质的概率密度函数。
2.根据权利要求1所述的导体的多次弹射微表面BRDF模型建模方法,其特征在于,所述计算函数具体如下:
路径空间中一条路径的贡献如下:
其中,vi是第i项顶点项,Sk是长度为k+1的路径的片段项,是路径空间中的任一路径,di是路径中第i个方向;
顶点项的定义为:
其中,F是菲涅尔项,D是法线分布函数,是第i弹射处的半程向量,ωg是几何法线;
片段项定义如下:
其中Λ为Lambda函数,不同的法线分布对应解析式不同;
通过蒙特卡洛方法计算路径空间上路径贡献的积分即可得到BRDF值,步骤如下:
(1)从入射方向d0开始进行路径追踪;
(2)进行一次俄罗斯轮盘赌并判断是否结束,如果结束则直接返回结果,否则继续;
(3)通过下次事件估计将路径与出射方向dk连接,计算路径贡献并加入到总贡献中;
(4)判断是否超过最大路径长度,如果超过则直接结束并返回结果,否则继续;
(5)通过可见法线分布采样得到一个新的方向作为入射方向并回到步骤(1)。
3.根据权利要求1所述的导体的多次弹射微表面BRDF模型建模方法,其特征在于,所述采样函数的实施步骤为:
(1)从入射方向开始,进行一次可见法线分布采样得到出射方向;
(2)计算出射方向的遮蔽函数作为出射的概率;
(3)根据步骤(2)得到的概率判断光线是否出射,如果没有出射,则将这个出射方向作为入射方向并回到步骤(1),否则转到步骤(4);
(4)将最后一个方向作为出射方向并将最终路径的贡献除以路径的概率密度函数作为采样权重。
4.根据权利要求1所述的导体的多次弹射微表面BRDF模型建模方法,其特征在于,所述概率密度函数具体为:
使用各向同性介质的多次弹射方程来估计各向异性介质的多次弹射方程,多次弹射的概率密度函数如下:
其中ωg是几何法线即垂直于几何表面的宏观法线,ωi是入射方向,ωo是出射方向,H函数定义如下:
其中a是介质的albedo,将材质的粗糙度映射到介质的albedo上:
其中αx是材质在x方向上的粗糙度,αy是材质在y方向上的粗糙度;
最终的概率密度函数等于一次弹射的概率密度函数加上多次弹射的概率密度函数:
其中ωh是半程向量,ωi是入射方向,ωo是出射方向。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310950747.2A CN117036601A (zh) | 2023-07-31 | 2023-07-31 | 导体的多次弹射微表面brdf模型建模方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310950747.2A CN117036601A (zh) | 2023-07-31 | 2023-07-31 | 导体的多次弹射微表面brdf模型建模方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117036601A true CN117036601A (zh) | 2023-11-10 |
Family
ID=88642193
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310950747.2A Pending CN117036601A (zh) | 2023-07-31 | 2023-07-31 | 导体的多次弹射微表面brdf模型建模方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117036601A (zh) |
-
2023
- 2023-07-31 CN CN202310950747.2A patent/CN117036601A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Schissler et al. | High-order diffraction and diffuse reflections for interactive sound propagation in large environments | |
Novák et al. | Monte Carlo methods for volumetric light transport simulation | |
Pharr et al. | Monte Carlo evaluation of non-linear scattering equations for subsurface reflection | |
Montes et al. | An overview of BRDF models | |
Herholz et al. | Volume path guiding based on zero-variance random walk theory | |
US9401043B2 (en) | Photon beam diffusion | |
Christensen et al. | Ray differentials and multiresolution geometry caching for distribution ray tracing in complex scenes | |
Li et al. | Anisotropic Gaussian mutations for Metropolis light transport through Hessian-Hamiltonian dynamics | |
Lafortune et al. | A theoretical framework for physically based rendering | |
US20120299914A1 (en) | Accelerated subsurface scattering determination for rendering 3d objects | |
Ren et al. | Interactive hair rendering under environment lighting | |
Jarosz et al. | Theory, analysis and applications of 2D global illumination | |
Neumann et al. | The stochastic ray method for radiosity | |
US20120299921A1 (en) | Directing indirect illumination to visibly influenced scene regions | |
Papaioannou et al. | Real-time volume-based ambient occlusion | |
Deng et al. | A practical path guiding method for participating media | |
CN117036601A (zh) | 导体的多次弹射微表面brdf模型建模方法 | |
CN113674375B (zh) | 一种用于半透明材质渲染的次表面散射计算方法 | |
Juven et al. | Temperature estimation in fusion devices using machine learning techniques on infrared specular synthetic data | |
Nabata et al. | An Error Estimation Framework for Many‐Light Rendering | |
KR101080508B1 (ko) | 다단계 점진적 포톤 매핑 방법 | |
Reinhard et al. | Cost distribution prediction for parallel ray tracing | |
Knurenko et al. | Second Knee on the Spectrum of Cosmic Ray at Energies∼ 10 17 eV by Long-Term Observations of Small Cherenkov EAS Array | |
Hapala et al. | When it makes sense to use uniform grids for ray tracing | |
Chermain et al. | Importance Sampling of Glittering BSDFs based on Finite Mixture Distributions. |
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 |