Back to Three Js

CSMFrustum

docs/pages/CSMFrustum.html

latest2.3 KB
Original Source

Import

CSMFrustum is an addon, and must be imported explicitly, see Installation#Addons.

import { CSMFrustum } from 'three/addons/csm/CSMFrustum.js';

Constructor

new CSMFrustum( data : CSMFrustum~Data )

Constructs a new CSM frustum.

| data |

The CSM data.

|

Properties

.vertices : Object

An object representing the vertices of the near and far plane in view space.

.zNear : number

The zNear value. This value depends on whether the CSM is used with WebGL or WebGPU. Both API use different conventions for their projection matrices.

Methods

.setFromProjectionMatrix( projectionMatrix : Matrix4, maxFar : number ) : Object

Setups this CSM frustum from the given projection matrix and max far value.

| projectionMatrix |

The projection matrix, usually of the scene's camera.

| | maxFar |

The maximum far value.

|

Returns: An object representing the vertices of the near and far plane in view space.

.split( breaks : Array.<number>, target : Array.<CSMFrustum> )

Splits the CSM frustum by the given array. The new CSM frustum are pushed into the given target array.

| breaks |

An array of numbers in the range [0,1] the defines how the CSM frustum should be split up.

| | target |

The target array that holds the new CSM frustums.

|

.toSpace( cameraMatrix : Matrix4, target : CSMFrustum )

Transforms the given target CSM frustum into the different coordinate system defined by the given camera matrix.

| cameraMatrix |

The matrix that defines the new coordinate system.

| | target |

The CSM to convert.

|

Type Definitions

.Data

Constructor data of CSMFrustum.

| webGL
boolean |

Whether this CSM frustum is used with WebGL or WebGPU.

| | projectionMatrix
Matrix4 |

A projection matrix usually of the scene's camera.

| | maxFar
number |

The maximum far value.

|

Source

examples/jsm/csm/CSMFrustum.js