three.js SphericalHarmonics3

2023-02-16 17:47 更新

表示三次球面諧波 (SH)。光照探測器使用此類來編碼光照信息。

構(gòu)造器

SphericalHarmonics3()

創(chuàng)建 SphericalHarmonics3 的新實例。

屬性

.coefficients : Array

包含 (9) 個 SH 系數(shù)的數(shù)組。單個系數(shù)表示為 Vector3 的一個實例。

.isSphericalHarmonics3 : Boolean

用于檢查給定對象是否為 SphericalHarmonics3 類型的只讀標志。

方法

.add ( sh : SphericalHarmonics3 ) : SphericalHarmonics3

sh - 要添加的 SH。

將給定的 SH 添加到此實例。

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

sh - 要添加的 SH。

scale - 比例因子。

一次執(zhí)行 .add() 和 .scale() 的便捷方法。

.clone () : SphericalHarmonics3

返回具有相等系數(shù)的 SphericalHarmonics3 的新實例。

.copy ( sh : SphericalHarmonics3 ) : SphericalHarmonics3

sh - 要復制的 SH。

將給定的 SH 復制到此實例。

.equals ( sh : SphericalHarmonics3 ) : Boolean

sh - 要與之比較的 SH。

如果給定的 SH 和此實例具有相等的系數(shù),則返回 true。

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

array - 保存 SH 系數(shù)數(shù)的數(shù)組。

offset - (可選)數(shù)組偏移量。

從給定數(shù)組設置此實例的系數(shù)。

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

normal - 法向量(假定為單位長度)。

target - 結(jié)果向量。

返回給定法線方向的輻射度。

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

normal - 法向量(假定為單位長度)。

target - 結(jié)果向量。

返回給定法線方向的輻照度(輻射度與余弦波瓣卷積)。

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

sh - 用于插值的 SH。

alpha - 阿爾法因素。

通過給定的 alpha 因子在給定的 SH 和此實例之間進行線性插值。

.scale ( scale : Number ) : SphericalHarmonics3

sh - 比例因子。

按給定的比例因子縮放此 SH。

.set ( coefficients : Array ) : SphericalHarmonics3

coefficients - 一組 SH 系數(shù)。

將給定的 SH 系數(shù)設置為此實例。

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

array - (可選)目標數(shù)組。

offset - (可選)數(shù)組偏移量。

返回包含系數(shù)的數(shù)組,或?qū)⑺鼈儚椭频教峁┑臄?shù)組中。系數(shù)表示為數(shù)字。

.zero () : SphericalHarmonics3

將所有 SH 系數(shù)設置為 0。

靜態(tài)方法

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

normal - 法向量(假定為單位長度)。

shBasis - 由此產(chǎn)生的 SH 基礎(chǔ)。

計算給定法向量的 SH 基礎(chǔ)。

源碼

src/math/SphericalHarmonics3.js


以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號