光照探针LightProbe

优质
小牛编辑
134浏览
2023-12-01

光照探针是一种在3D场景中添加光源的另一种方法。与经典光源(平行光、点光、聚光)不同, 光照探针不发光。相反,光照探针存储着有关穿过3D空间的光线的信息。 渲染过程中,通过使用来自光照探针的数据,来逼近打到3D物体上的光线。

光照探针通常从(辐射)环境贴图中创建。 LightProbeGenerator 类可以根据 CubeTextureWebGLCubeRenderTarget 的实例来创建光照探针。 但是,光照估算数据同样可以以其他形式提供,例如,通过WebXR。 这将能够渲染可对真实世界的光照做出反应的增强现实内容。

three.js中,当前的探针实现支持所谓的漫反射光照探针。 这种类型的光照探针功能上等效于辐照环境贴图。

例子

WebGL / light probe
WebGL / light probe / cube camera

构造函数

LightProbe( sh : SphericalHarmonics3, intensity : Float )

sh - (可选)一个SphericalHarmonics3的实例。
intensity - (可选)光照探针强度的数值。默认值为1。

创建一个新的 LightProbe 。

属性

See the base Light class for common properties. color 属性当前未做评估,因此不生效。

.sh : SphericalHarmonics3

光照探针使用球面谐波(spherical harmonic)来编码光照信息。

方法

See the base Light class for common methods.

源码

src/lights/LightProbe.js