three.js LightProbe

2023-02-16 17:42 更新

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

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

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

例子

WebGL / light probe

WebGL / light probe / cube camera

构造函数

LightProbe( sh : SphericalHarmonics3, intensity : Float )

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

创建一个新的 LightProbe 。

属性

请参阅基本 Light 类以了解常用属性。 color 属性当前未做评估,因此不生效。

.isLightProbe : Boolean

只读标志,用于检查给定对象是否属于 LightProbe 类型。

.sh : SphericalHarmonics3

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

方法

有关常用方法,请参阅基 Light 类。

源码

src/lights/LightProbe.js


以上内容是否对您有帮助:
在线笔记
App下载
App下载

扫描二维码

下载编程狮App

公众号
微信公众号

编程狮公众号