SphericalHarmonics3 - Verge3D 用户手册 - Soft8Soft
Description: 了解如何在使用 Verge3D 制作的交互式 3D 应用程序中使用 SphericalHarmonics3

# SphericalHarmonics3

Represents a third-order spherical harmonics (SH). Light probes use this class to encode lighting information.

## Constructor

### SphericalHarmonics3()

Creates a new instance of SphericalHarmonics3.

## Properties

### # .coefficients : Array

An array holding the (9) SH coefficients. A single coefficient is represented as an instance of Vector3.

## Methods

### # .add(sh : SphericalHarmonics3) → SphericalHarmonics3

sh — The SH to add.
Adds the given SH to this instance.

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

sh — The SH to add.
scale — The scale factor.
A convenience method for performing .add() and .scale() at once.

### # .clone() → SphericalHarmonics3

Returns a new instance of SphericalHarmonics3 with equal coefficients.

### # .copy(sh : SphericalHarmonics3) → SphericalHarmonics3

sh — The SH to copy.
Copies the given SH to this instance.

### # .equals(sh : SphericalHarmonics3) → Boolean

sh — The SH to compare with.
Returns true if the given SH and this instance have equal coefficients.

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

array — The array holding the numbers of the SH coefficients.
offset — (optional) The array offset.
Sets the coefficients of this instance from the given array.

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

normal — The normal vector (assumed to be unit length).
target — The result vector.
Returns the radiance in the direction of the given normal.

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

normal — The normal vector (assumed to be unit length).
target — The result vector.
Returns the irradiance (radiance convolved with cosine lobe) in the direction of the given normal.

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

sh — The SH to interpolate with.
alpha — The alpha factor.
Linear interpolates between the given SH and this instance by the given alpha factor.

### # .scale(scale : Number) → SphericalHarmonics3

sh — The scale factor.
Scales this SH by the given scale factor.

### # .set(coefficients : Array) → SphericalHarmonics3

coefficients — An array of SH coefficients.
Sets the given SH coefficients to this instance.

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

array — (optional) The target array.
offset — (optional) The array offset.
Returns an array with the coefficients, or copies them into the provided array. The coefficients are represented as numbers.

### # .zero() → SphericalHarmonics3

Sets all SH coefficients to 0.

## Static Methods

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

normal — The normal vector (assumed to be unit length).
shBasis — The resulting SH basis.
Computes the SH basis for the given normal vector.

## 源代码

关于如何获取此模块的源代码，请查看 本页。