three.js SphericalHarmonics3

2023-02-16 17:47 更新

表示三次球面谐波 (SH)。光照探测器使用此类来编码光照信息。

构造器

SphericalHarmonics3()

创建 SphericalHarmonics3 的新实例。

属性

.coefficients : Array

包含 (9) 个 SH 系数的数组。单个系数表示为 Vector3 的一个实例。

.isSphericalHarmonics3 : Boolean

用于检查给定对象是否为 SphericalHarmonics3 类型的只读标志。

方法

.add ( sh : SphericalHarmonics3 ) : SphericalHarmonics3

sh - 要添加的 SH。

将给定的 SH 添加到此实例。

.addScaledSH ( sh : SphericalHarmonics3, scale : Number ) : SphericalHarmonics3

sh - 要添加的 SH。

scale - 比例因子。

一次执行 .add() 和 .scale() 的便捷方法。

.clone () : SphericalHarmonics3

返回具有相等系数的 SphericalHarmonics3 的新实例。

.copy ( sh : SphericalHarmonics3 ) : SphericalHarmonics3

sh - 要复制的 SH。

将给定的 SH 复制到此实例。

.equals ( sh : SphericalHarmonics3 ) : Boolean

sh - 要与之比较的 SH。

如果给定的 SH 和此实例具有相等的系数,则返回 true。

.fromArray ( array : Array, offset : Number ) : SphericalHarmonics3

array - 保存 SH 系数数的数组。

offset - (可选)数组偏移量。

从给定数组设置此实例的系数。

.getAt ( normal : Vector3, target : Vector3 ) : Vector3

normal - 法向量(假定为单位长度)。

target - 结果向量。

返回给定法线方向的辐射度。

.getIrradianceAt ( normal : Vector3, target : Vector3 ) : Vector3

normal - 法向量(假定为单位长度)。

target - 结果向量。

返回给定法线方向的辐照度(辐射度与余弦波瓣卷积)。

.lerp ( sh : SphericalHarmonics3, alpha : Number ) : SphericalHarmonics3

sh - 用于插值的 SH。

alpha - 阿尔法因素。

通过给定的 alpha 因子在给定的 SH 和此实例之间进行线性插值。

.scale ( scale : Number ) : SphericalHarmonics3

sh - 比例因子。

按给定的比例因子缩放此 SH。

.set ( coefficients : Array ) : SphericalHarmonics3

coefficients - 一组 SH 系数。

将给定的 SH 系数设置为此实例。

.toArray ( array : Array, offset : Number ) : Array

array - (可选)目标数组。

offset - (可选)数组偏移量。

返回包含系数的数组,或将它们复制到提供的数组中。系数表示为数字。

.zero () : SphericalHarmonics3

将所有 SH 系数设置为 0。

静态方法

.getBasisAt ( normal : Vector3, shBasis : Array ) : undefined

normal - 法向量(假定为单位长度)。

shBasis - 由此产生的 SH 基础。

计算给定法向量的 SH 基础。

源码

src/math/SphericalHarmonics3.js


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

扫描二维码

下载编程狮App

公众号
微信公众号

编程狮公众号