这是用户在 2024-7-9 17:17 为 https://app.immersivetranslate.com/pdf-pro/299431f0-98d1-4adf-9e71-17a0421b4fee 保存的双语快照页面,由 沉浸式翻译 提供双语支持。了解如何保存?
2024_07_09_02dc246de9a1d59425cfg

Subsurface scattering  表层下散射

Subsurface scattering (SSS), also known as subsurface light transport (SSLT), [1] is a mechanism of light transport in which light that penetrates the surface of a translucent object is scattered by interacting with the material and exits the surface potentially at a different point. Light generally penetrates the surface and gets scattered a number of times at irregular angles inside the material before passing back out of the material at a different angle than it would have had if it had been reflected directly off the surface.
表层下散射(SSS),又称表层下光传输(SSLT)[1],是一种光传输机制,即穿透半透明物体表面的光通过与材料相互作用而发生散射,并有可能从不同的点从表面射出。光线通常会穿透表面,在材料内部以不规则的角度散射若干次,然后以不同于直接从表面反射的角度从材料中穿出。
Subsurface scattering is important for realistic computer graphics, being necessary for the rendering of materials such as marble, skin, leaves, wax and milk. If subsurface scattering is not implemented, the material may look unnatural, like plastic or metal.
次表面散射对于逼真的 计算机图形非常重要,是渲染大理石、皮肤、树叶、蜡和牛奶等材料所必需的。如果没有实现次表面散射,材料可能看起来不自然,就像塑料或金属。

Rendering techniques 渲染技术

To improve rendering efficiency, many real-time computer graphics algorithms only compute the reflectance at the surface of an object. In reality, many materials are slightly translucent: light enters the surface; is absorbed, scattered and re-emitted - potentially at a different point. Skin is a good case in point; only about of reflectance is direct, is from subsurface scattering. [2] An inherent property of semitransparent materials is absorption. The further through
为了提高渲染效率,许多实时计算机图形算法只计算物体表面的反射率。实际上,许多材料都是轻微半透明的:光线进入表面,被吸收、散射,然后重新发射--可能在不同的点。皮肤就是一个很好的例子;只有约 的反射率是直接反射, 是来自表面下的散射。[2] 半透明材料的一个固有特性是吸收。通过
Real-world subsurface scattering of light in a photograph of a human hand
人类手部照片中真实世界的次表层散射光
Computer-generated subsurface scattering in Blender the material light travels, the greater the proportion absorbed. To simulate this effect, a measure of the distance the light has traveled through the material must be obtained.
Blender 中计算机生成的次表面散射 光在材料中传播的距离越远,被吸收的比例就越大。要模拟这种效果,必须测量光线穿过材料的距离。

Random walk SSS 随机漫步 SSS

Published by Pixar, this technique is considered the state of the art. Usually integrated into a path-tracer. It essentially simulates what happens to real photons
该技术由皮克斯发布,被认为是最先进的技术。通常集成在路径追踪器中。它基本上模拟了真实光子的情况
Direct surface scattering (left) plus subsurface scattering (middle) creates the final image on the right.
直接表面散射(左图)加上次表面散射(中图)形成右图的最终图像。
by tracing a light path into the material, generating new paths using a lambertian distribution around the inverted normal, then picking new directions at multiple steps to scatter the light path further, hence the name "random walk". Isotropic scattering is simulated by picking random directions evenly along a sphere. Anisotropic scattering is simulated usually by using the Henyey-Greenstein phase function. For example, human skin has anisotropic scattering. Optical depth / absorption is applied based on the length of the paths, using the Beer-Lambert law. Paths may be terminated inside the material when they reach a contribution minimum threshold or a maximum iteration
它是通过追踪进入材料的光路,在倒置法线周围使用朗伯分布生成新的光路,然后在多个步骤中选择新的方向以进一步散射光路,因此被称为 "随机漫步"。各向同性散射是通过沿球面均匀选取随机方向来模拟的。各向异性散射通常使用 Henyey-Greenstein 相位函数来模拟。例如,人体皮肤具有各向异性散射。利用比尔-朗伯定律,根据路径长度应用光学深度/吸收。当路径达到最小贡献阈值或最大迭代次数时,可在材料内部终止路径。

count. When a path (ray) hits the surface again, it is used for gathering radiance from the scene, weighted by a lambertian distribution, as in a traditional path-tracer. This technique is intuitive and it is robust against thin geometry etc.
计数。当路径(射线)再次击中表面时,就会像传统路径追踪器一样,通过朗伯分布加权从场景中收集辐射。这种技术非常直观,而且对较薄的几何体等具有很好的稳定性。

Depth Map based SSS
基于深度图的 SSS

One method of estimating this distance is to use depth maps, in a manner similar to shadow mapping. The scene is rendered from the light's point of view into a depth map, so that the distance to the nearest surface is stored. The depth map is then projected onto it using standard projective texture mapping and the scene re-rendered. In this pass, when shading a given point, the distance from the light at the point the ray entered the surface can be obtained by a simple texture lookup. By subtracting this value from the point the ray exited the object we can gather an estimate of the distance the light has traveled through the object.
估算这一距离的方法之一是使用深度图, ,其方式与阴影贴图类似。从光线的角度将场景渲染到深度图中,这样就可以存储到最近表面的距离。然后使用标准的投射纹理贴图将深度图投射到它上面,并重新渲染场景。在此过程中,当为给定点着色时,可以通过简单的纹理查找获得光线进入表面时与光线的距离。将该值减去光线从物体射出的点,就可以估算出光线穿过物体的距离。
The measure of distance obtained by this method can be used in several ways. One such way is to use it to index directly into an artist created 1D texture that falls off exponentially with distance. This approach, combined with other more traditional lighting models, allows the creation of different materials such as marble, jade and wax.
通过这种方法获得的距离测量值可以有多种用途。其中一种方法是将其直接索引到艺术家创建的一维纹理中,这种纹理会随着距离的增加而呈指数下降。这种方法与其他更传统的照明模型相结合,可以创造出不同的材料,如大理石、玉石和蜡。
Potentially, problems can arise if models are not convex, but depth peeling can be used to avoid the issue. Similarly, depth peeling can be used to account for varying densities beneath the surface, such as bone or muscle, to give a more accurate scattering model.
如果模型不是凸面的,可能会出现问题,但可以使用深度剥离 来避免这个问题。同样,深度剥离可用于考虑表面下的不同密度,如骨骼或肌肉,从而得到更精确的散射模型。
Random walk SSS in Equinox3D's path-tracer.
Equinox3D 路径追踪器中的随机漫步 SSS。
Random walk SSS + PBR surface reflection in Equinox3D's pathtracer.
Equinox3D 的 pathtracer 中的随机漫步 SSS + PBR 表面反射。
Depth estimation using depth maps
利用深度图进行深度估算
As can be seen in the image of the wax head to the right, light isn't diffused when passing through object using this technique; back features are clearly shown. One solution to this is to take multiple samples at different points on surface of the depth map. Alternatively, a different approach to approximation can be used, known as texture-space diffusion.
从右侧的蜡像头图像中可以看出,使用这种技术,光线穿过物体时不会发生漫射,背面特征清晰可见。解决这一问题的方法之一是在深度图表面的不同点上采集多个样本。另外,还可以使用另一种近似方法,即纹理空间扩散法。

Texture space diffusion 纹理空间扩散

As noted at the start of the section, one of the more obvious effects of subsurface scattering is a general blurring of the diffuse lighting. Rather than arbitrarily modifying the diffuse function, diffusion can be more accurately modeled by simulating it in texture space. This technique was pioneered in rendering faces in The Matrix Reloaded, 55 but is also used in the realm of real-time rendering techniques.
正如本节开头所述,次表层散射的一个更明显的影响是漫射光线的普遍模糊。与其任意修改漫反射函数,不如在纹理空间中模拟漫反射,从而更准确地模拟漫反射。这种技术在《黑客帝国重装上阵》(The Matrix Reloaded)55 的人脸渲染中首创,但也被用于实时渲染技术领域。
The method unwraps the mesh of an object using a vertex shader, first calculating the lighting based on the original vertex coordinates. The vertices are then remapped using the UV texture coordinates as the screen position of the vertex, suitable transformed from the [ 0,1 range of texture coordinates to the range of normalized device coordinates. By lighting the unwrapped mesh in this manner, we obtain a 2D image representing the lighting on the object,
该方法使用顶点着色器对物体的网格进行解包,首先根据原始顶点坐标计算光照。然后使用 UV 纹理坐标重映射顶点,将其作为顶点的屏幕位置,并从[ 0,1 的纹理坐标范围转换为 的归一化设备坐标范围。通过这种方式对未包裹的网格进行照明,我们可以获得代表物体照明的二维图像、

which can then be processed and reapplied to the model as a light map. To simulate diffusion, the light map texture can simply be blurred. Rendering the lighting to a lower-resolution texture in itself provides a certain amount of blurring. The amount of blurring required to accurately model subsurface scattering in skin is still under active research, but performing only a single blur poorly models the true effects. To emulate the wavelength dependent nature of diffusion, the samples used during the (Gaussian) blur can be weighted by channel. This is somewhat of an artistic process. For human skin, the broadest scattering is in red, then green, and blue has very little scattering.
然后可以对其进行处理,并将其作为光贴图重新应用到模型中。为了模拟漫反射,可以对光贴图纹理进行简单的模糊处理。将光照渲染为低分辨率纹理本身就能提供一定的模糊效果。准确模拟皮肤表层下散射所需的模糊程度仍在积极研究中,但只进行一次模糊并不能模拟真实效果。 为了模拟扩散的波长依赖性,在(高斯)模糊过程中使用的样本可以按通道加权。这在某种程度上是一种艺术处理。对于人体皮肤来说,红色的散射最广,然后是绿色,而蓝色的散射很少。
A major benefit of this method is its independence of screen resolution; shading is performed only once per texel in the texture map, rather than for every pixel on the object. An obvious requirement is thus that the object have a good UV mapping, in that each point on the texture must map to only one point of the object. Additionally, the use of texture space diffusion provides one of the several factors that contribute to soft shadows, alleviating one cause of the realism deficiency of shadow mapping.
这种方法的主要优点是不受屏幕分辨率的影响;只需对纹理贴图中的每个像素点进行一次着色,而不是对物体上的每个像素点进行着色。因此,一个显而易见的要求是,物体必须具有良好的 UV 映射,即纹理上的每个点必须只映射到物体上的一个点。此外,纹理空间漫反射的使用提供了造成柔和阴影的几个因素之一,减轻了阴影贴图逼真度不足的一个原因。

See also 另见

  • Bidirectional scattering distribution function
    双向散射分布函数

References 参考资料

  1. "Finish: Subsurface Light Transport" (http://wiki.povray.org/content/Reference:Finish#Subsurfa ce_Light_Transport). POV-Ray wiki. August 8, 2012.
    "完成:地表下光线传输" ( http://wiki.povray.org/content/Reference:Finish#Subsurfa ce_Light_Transport)。POV-Ray wiki。2012 年 8 月 8 日。
  2. Krishnaswamy, A; Baronoski, GVG (2004). "A Biophysically-based Spectral Model of Light Interaction with Human Skin" (http://eg04.inrialpes.fr/Programme/Papers/PDF/paper1189.pdf) (PDF). Computer Graphics Forum. 23 (3). Blackwell Publishing: 331. doi:10.1111/j.14678659.2004.00764.x (https://doi.org/10.1111%2Fj.1467-8659.2004.00764.x). S2CID 5746906 (ht tps://api.semanticscholar.org/CorpusID:5746906).
    Krishnaswamy, A; Baronoski, GVG (2004)."基于生物物理学的光与人体皮肤相互作用光谱模型》 ( http://eg04.inrialpes.fr/Programme/Papers/PDF/paper1189.pdf) (PDF)。计算机图形论坛》。23 (3).Blackwell Publishing: 331. doi:10.1111/j.14678659.2004.00764.x ( https://doi.org/10.1111%2Fj.1467-8659.2004.00764.x).S2CID 5746906 (ht tps://api.semanticscholar.org/CorpusID:5746906).
  3. Green, Simon (2004). "Real-time Approximations to Subsurface Scattering". GPU Gems. Addison-Wesley Professional: 263-278.
    Green, Simon (2004)."亚表面散射的实时逼近》。GPU Gems.Addison-Wesley Professional: 263-278.
  4. Nagy, Z; Klein, R (2003). Depth-Peeling for Texture-based Volume Rendering (http://cg.cs.unibonn.de/docs/publications/2003/nagy-2003-depth.pdf) (PDF). 11th Pacific Conference on Computer Graphics and Applications. pp. 429-433. doi:10.1109/PCCGA.2003.1238289 (http s://doi.org/10.1109%2FPCCGA.2003.1238289). ISBN 0-7695-2028-6.
    Nagy, Z; Klein, R (2003)。Deep-Peeling for Texture-based Volume Rendering ( http://cg.cs.unibonn.de/docs/publications/2003/nagy-2003-depth.pdf) (PDF).11th Pacific Conference on Computer Graphics and Applications. pp.429-433. doi:10.1109/PCCGA.2003.1238289 (http s://doi.org/10.1109%2FPCCGA.2003.1238289).ISBN 0-7695-2028-6.
  5. Borshukov, G; Lewis, J. P. (2005). "Realistic human face rendering for "The Matrix Reloaded" " (http://www.scribblethink.org/Work/Pdfs/Face-s2003.pdf) (PDF). Computer Graphics. ACM Press.
    Borshukov, G; Lewis, J. P. (2005)."黑客帝国重装上阵》的逼真人脸渲染 ( http://www.scribblethink.org/Work/Pdfs/Face-s2003.pdf) (PDF)。Computer Graphics.ACM Press.
  6. d'Eon, E (2007). "Advanced Skin Rendering" (http://developer.download.nvidia.com/presentatio ns/2007/gdc/Advanced_Skin.pdf) (PDF). GDC 2007.
    d'Eon, E (2007)."Advanced Skin Rendering" ( http://developer.download.nvidia.com/presentatio ns/2007/gdc/Advanced_Skin.pdf) (PDF).GDC 2007。
Retrieved from "https://en.wikipedia.org/w/index.php?title=Subsurface_scattering&oldid=1224438502"
Retrieved from " https://en.wikipedia.org/w/index.php?title=Subsurface_scattering&oldid=1224438502"