Questions tagged «physically-based»

2
漫反射和镜面反射的区别是基于物理的?
实时计算机图形中对表面进行着色的经典方法是将(朗伯(Lambertian))扩散项和镜面项组合在一起,最有可能是Phong或Blinn-Phong。 现在,随着基于物理渲染的趋势以及诸如Frostbite,Unreal Engine或Unity 3D之类的引擎中的材质模型的趋势,这些BRDF已经发生了变化。例如(当时相当通用),最新的虚幻引擎仍使用Lambertian漫反射,但结合了Cook-Torrance微面模型进行镜面反射(特别是使用GGX / Trowbridge-Reitz和菲涅耳术语的修正的Slick近似) )。此外,“金属”值用于区分导体和电介质。 对于电介质,漫反射使用材料的反照率进行着色,而镜面反射始终是无色的。对于金属,不使用漫反射,镜面项与材料的反照率相乘。 关于现实世界的物理材料,是否存在漫反射和镜面反射之间的严格分隔,如果存在,分隔分隔是从何而来的?为什么一个是彩色的而另一个却没有呢?为什么导体表现不同?

3
基于物理的阴影-环境/间接照明
在研究了M. Pharr和G. Humphreys的PBRT之后,我实现了基于物理的路径跟踪器。现在,我正在尝试使用OpenGL ES(在iPhone应用程序中)将基于物理的渲染应用于实时图形。 我想开始将Oren-Nayar和Cook-Torrance用作漫反射和镜面BRDF,但是我有一个问题:如何为间接照明建模? 在路径跟踪器中(如pbrt中包含的那样),从路径跟踪算法“自动”提供间接/环境光,因为它遵循光线的路径,并考虑了直接和间接照明。 如何使用OpenGL ES编写的基于物理的渲染中的间接照明建模,以便使用实时计算机图形?

3
什么是球谐和光探头?
什么是球谐与光探头?它们在计算机图形学中有多大用处?他们到底在做什么?从Siggraph演示文稿到博客文章,我到处都听到过球谐和光探头这个词。 最近,马特·佩蒂诺(Matt Pettineo)在他们身上发布了由6部分组成的博客系列,但我仍然不明白它们是什么。 这是改善环境照明的另一种方法吗?

4
对于着色器数学,为什么线性RGB保持sRGB的色域?
sRGB通常与“线性RGB”形成对比。 图像存储在磁盘上,并以sRGB的形式传递到显示器,其强度在视觉上大致均匀。 着色器数学是在线性RGB上完成的,线性RGB在强度上是均匀的。 可以应用伽玛校正在两者之间进行转换。 现在,sRGB有一个标准,该标准可比色地指定其色域,准确说明纯红色,绿色,蓝色和白色的位置。但是,对于“线性RGB”没有相应的标准。 色度图上的任何三角形都可以说是线性的,实际上,有几个众所周知的色域可供选择: 实际上,当我们说“线性RGB”时,是指“没有伽马校正的sRGB”。(这是我们在将sRGB伽玛校正作为最后的后处理步骤但忽略其余渲染管线的颜色空间时所做的工作。) 但是,为什么是 RGB色域的正确使用进行插值,照明计算?似乎是任意的。如果有的话,我们不是要使用最大可能的色域进行内部计算,然后最后将颜色裁剪或缩放到输出设备的色域吗? 不管是什么,RGB照明都将是近似的,所以我们选择哪种色域都没有关系,我们还可以选择最接近显示器本身支持的色域?只是过失吗?还是以某种方式在这些不同色域中进行计算实际上得出了完全相同的结果?

3
Cook-Torrance / Torrance-Sparrow模型的正确镜面项
一段时间以来,我一直在进行基于物理的渲染这一主题的研究。一遍又一遍提到的反射模型是Cook-Torrance / Torrance-Sparrow模型。在此模型的每次提及或解释中,似乎都使用了不同形式的镜面反射项。我发现的版本是: Fd g ^π(N⃗ ⋅ V⃗ )(N⃗ ⋅ 大号⃗ )FDGπ(N→⋅V→)(N→⋅L→){\frac {FDG}{\pi ({\vec N}\cdot {\vec V})({\vec N}\cdot {\vec L})}} Fd g ^4 (N⃗ ⋅ V⃗ )(N⃗ ⋅ 大号⃗ )FDG4(N→⋅V→)(N→⋅L→){\frac {FDG}{4 ({\vec N}\cdot {\vec V})({\vec N}\cdot {\vec L})}} Fd g ^(N⃗ ⋅ V⃗ )(N⃗ ⋅ 大号⃗ )FDG(N→⋅V→)(N→⋅L→){\frac {FDG}{({\vec N}\cdot {\vec …

2
如何建立合适的镜头/相机物镜模型进行路径追踪?
在对smallpt进行学习和试验之后,我写了一个小路径跟踪器。 我自己没有写(也不理解)的唯一一件事就是如何计算初始光线并从相机发射它们。我的原则是正确的,但是我正在寻找一些资源来描述如何: 计算射线的初始方向 模拟一个真实的镜头(与针孔相机相反),据说可以实现像景深这样的效果? 不需要最先进的数学和物理学,但如果进行了详尽的解释,则可以。

1
偏振反射和折射,可包裹水面
我想在环绕轨道的栖息地中渲染逼真的水。该图像不需要实时生成,尽管我也不想花费数周的时间。我正在寻找一种可以在数小时或数天内生成逼真的图像的方法。 栖息地是圆柱形的,弯曲的内表面是生活空间。圆柱体绕其轴线的旋转提供了重力的近似值。我不是在寻找模拟物理过程的细节,而只是在寻找图像的渲染。 我想了解的特定方面是极化。从水表面反射的光被偏振,使进入水中的光垂直于反射光偏振。在只有一个水表面的情况下,忽略这种影响并简单地对反射和透射的光的比例进行建模就可以很好地工作,但是如果圆柱状栖息地的水体占曲面的比例很大,那么给定的光线将使多种不同角度的多次反射。这意味着被反射的光的比例将取决于先前施加给它的偏振角。 是否有现成的方法结合了这种效果,可以从弯曲的水表面产生逼真的多重反射图像?他们还需要对偏振模型进行建模。在某些地方水会很浅,所以我希望偏振折射会影响结果。 如果没有,我可以改用现有的光线跟踪器,还是需要从头开始? 我正在寻找现实主义,以便发现意想不到的效果,而不仅仅是将现实主义传递给随便的观察者。显然,大多数观察者(包括我)都不知道要寻找的效果,因为他们对日常生活并不熟悉,因此我在寻找“在生理上正确的方式”,而不仅仅是“令人信服”。

1
海浪渲染
我如何为带有白帽和泡沫且波动强度可变的水体生成波浪?表面是具有法线贴图的网格吗?是否有生成该公式的公式?是否有类似的方法可以确定在哪里以及如何渲染白帽?我碰到了这篇论文,但不是很清楚。 在本文中,我了解了有关波浪产生的部分。有专门针对白帽和泡沫的部分,它确实提供了生成白帽和泡沫的公式,但是您如何仅将其应用于需要它的水部分?根据我的观察,它只是将F表示为需要白帽的区域,有人可以阐明它的工作原理吗?

1
单散射微面BSDF模型中的能量损失补偿
Walter等人针对粗糙介电表面的单散射基于微面的表面模型(例如原始的Torrance-Sparrow BRDF)或派生模型(例如BSDF)。忽略了微面之间的光的相互反射,这导致能量损失,导致变暗,尤其是在较高的粗糙度值下。 使用炉子测试可以很容易地证明这个问题。下图显示了我使用Smith模型和GGX分布对粗糙度参数从0.2到1.0进行导电微刻面BRDF的实现的行为(此处故意将菲涅耳系数设置为1,以使问题更容易看到): 使用Smith模型和GGX微面分布对粗糙度参数从0.2到1.0的粗糙电介质(IoR 1.51)BSDF进行炉试验: 埃里克·海茨(Eric Heitz)等。Heitz最近在LuxRender论坛上提出了一种多重散射模型,该模型可以通过完全解决光相互作用来解决变暗问题,但是由于其评估程序的随机性,因此存在性能问题。 是否存在已知的补偿方法来恢复单散射模型的能量损失?不一定在物理上是正确的,但至少不会破坏物理上的合理性(亥姆霍兹互惠性和能量守恒),并且理想情况下无需手动调整参数。 在迪士尼BSDF中,有一个称为“光泽”(基本上是基于菲涅耳的光泽叶)的参数化成分,可用于补偿边缘变暗,但是正如他们在Siggraph 2015课程中提到的,这是非常特殊的方法: “ ...这非常近似,对于其他粗糙度值效果不佳...” 在上述意见从埃里克·海茨中的LuxRender论坛还建议使用一些补偿黑客,但不幸的是,不会进入任何细节: 据我所知,您可以使用一些更简单的技巧来改善单个散射模型中的能量节省(例如调整反照率)。但是,如果这样做,则在不破坏BSDF的可逆性的情况下就无法获得完美的节能材料(例如,完美的白色毛玻璃)。

3
作为(漫反射/反照率)纹理的16位半浮点线性HDR图像?
因此,我已经考虑了一段时间,并尝试通过google找到答案,但没有成功。 如果您所有的纹理都是8位LDR图像(如JPEG),则在渲染时不可能与曝光控制/色调映射产生冲突。就是说,如果您调整图像的渲染曝光度,则应该在纹理中不存在的细节上进行曝光,因为低动态范围限制了这些细节。因此,在具有16位半浮点数的线性色彩空间中将纹理作为HDR图像并另存为.exr,以获得良好的颜色表示(32位“全”浮点数可能会过大吗?),这是否有意义?我认为,要获得更详细和正确的颜色值,可能还会对GI产生影响,并且如何计算颜色渗色? 还是根本没有必要,因为我们想要的渲染的最终结果可能会与以任何方式拍摄的纹理的曝光水平相似?而且由于相机通常以12-14bit的速度拍摄,因此您必须对纹理进行多次曝光,并做所有额外的工作才能将它们全部组合成一个HDRI。 编辑: 为澄清起见,我最感兴趣的是从照片逼真的渲染角度来看,使用光线跟踪渲染器(例如mental ray,V-Ray,Arnold等)进行全光模拟和全局照明,而不是实时游戏引擎。

2
散射区光的总发射功率
我正在读《基于物理的渲染》一书(Pharr,Humphreys)。在“光”一章中,他们讨论了近似估算各种光的总发射功率。例如,点光源的总功率为intensity * 4 * pi。在此4pi表示整个球体的立体角。这对我来说很有意义,因为强度*立体角=功率(或辐射通量)。您也可以按单位查看。强度为W / sr,立体角为sr,因此W/sr * sr = W功率以瓦特为单位。它签出。 但是,我不了解的相应计算DiffuseAreaLight。根据我对这本书的理解,他们计算出散射区域光发出的总功率为emitted radiance * area * pi。因为辐射的单位是W /(sr * m ^ 2),所以乘以面积就得到W / sr。这使我认为pi因子代表立体角-但是为什么只有1pi?我会猜到2pi,因为区域光的每个点都会在一个完整的半球内辐射(相当于2pi球面度)。 您可以在此处找到本书中提到的实际代码。 我有什么误会?为什么total emitted power = emitted radiance * area * pi对于漫射区域灯有意义?

1
模拟Young的双缝实验
杨氏双缝实验的建立和解释都非常简单,但这是衍射和干涉的一个例子,两者均不能通过传统的射线追踪来建模。 使用纹理渲染结果的近似值很简单,但这需要预先知道结果应该是什么。对于任意装置,在事先不知道狭缝的数量和位置的情况下,是否存在用于对效果进行建模以生成正确的最终图像的现有算法? 如果不是,为了准确产生这些效应,模型需要包括什么?可以将光线跟踪修改为使用带有附加信息的光线,还是需要全新的方法?
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.