SphericalHarmonics3

Создаёт сферическую гармонику третьего порядка (СГ). Зонды освещения используют этот класс для кодирования информации об освещении.

Конструктор

SphericalHarmonics3()

Создает новый экземпляр SphericalHarmonics3.

Свойства

.coefficients : Array

Массив, содержащий 9 коэффициентов СГ. Каждый коэффициент представлен в виде экземпляра Vector3.

.isSphericalHarmonics3 : Boolean

Флаг, указывающий что данный объект является экземпляром SphericalHarmonics3. Только для чтения.

Методы

.add(sh : SphericalHarmonics3) → SphericalHarmonics3

sh — добавляемая СГ.

Добавляет указанную СГ к текущей.

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

Удобный метод для одновременного выполнения .add() и .scale().

.clone() → SphericalHarmonics3

Возвращает новый экземпляр SphericalHarmonics3 с теми же коэффициентами.

.copy(sh : SphericalHarmonics3) → SphericalHarmonics3

sh — СГ для копирования.

Копирует указанную СГ в текущую.

.equals(sh : SphericalHarmonics3) → Boolean

sh — СГ для сравнения.

Возвращает true, если указанная СГ и текущая имеют одинаковые коэффициенты.

.fromArray(array : Array, offset : Float) → SphericalHarmonics3

Устанавливает коэффициенты текущего экземпляра СГ из заданного массива.

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

Возвращает освещенность в направлении заданной нормали.

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

Возвращает irradiance (излучение), т.е. radiance (освещенность), преобразованную с помощью косинусной доли) в направлении заданной нормали.

.lerp(sh : SphericalHarmonics3, alpha : Float) → SphericalHarmonics3

Производит линейную интерполяцию между указанной СГ и текущим экземпляром по заданному альфа-фактору.

.scale(scale : Float) → SphericalHarmonics3

scale — коэффициент масштабирования.

Масштабирует данную СГ с использованием указанного коэффициента.

.set(coefficients : Array) → SphericalHarmonics3

coefficients — массив коэффициентов СГ.

Устанавливает указанные коэффициенты в текущий экземпляр СГ.

.toArray(array : Array, offset : Float) → Array

Возвращает массив с коэффициентами или копирует их в предоставленный массив. Коэффициенты представляются в виде чисел.

.zero() → SphericalHarmonics3

Устанавливает все коэффициенты СГ в 0.

Статические методы

.getBasisAt(normal : Vector3, shBasis : Array) → void

Вычисляет базис СГ для заданного вектора нормали.

Исходный файл

О том как получить исходный код этого модуля читайте тут.