three.js SphericalHarmonics3
表示三次球面谐波 (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
更多建议: