Gets the scalar intensity multiplier.
Sets the scalar intensity multiplier and flags the node as dirty.
Gets the material associated with this node if it is a Mesh, or recursively searches descendants and returns the material of the first child Mesh found.
The Material instance, or null if none was found.
Sets the material for this node (if it is a Mesh) or recursively applies it to all descendant Mesh nodes.
The Material instance to assign.
Gets all unique materials associated with this node and its descendants.
An array of Material instances.
Gets the spatial 3D position vector of this node. Modifying individual components of this vector will automatically flag the node as dirty.
Sets the spatial 3D position vector of this node. Copies the components of the incoming vector and flags the node as dirty.
Gets the spatial Euler rotation vector (pitch, yaw, roll) in radians. Modifying individual components of this vector will automatically flag the node as dirty.
Sets the spatial Euler rotation vector (pitch, yaw, roll) in radians. Copies the components of the incoming vector and flags the node as dirty.
Gets the spatial Euler rotation vector in degrees. Accessing or mutating components of this proxy converts automatically to/from radians.
Sets the spatial Euler rotation vector in degrees. Converts the incoming components to radians and flags the node as dirty.
Gets the spatial 3D scale vector of this node. Modifying individual components of this vector will automatically flag the node as dirty.
Sets the spatial 3D scale vector of this node. Copies the components of the incoming vector and flags the node as dirty.
Instantiates a new DirectionalLight node.
Custom DirectionalLight parameters.
Adds a child node to this node's hierarchy. If the child already has a parent, it is automatically removed from that parent first. Sets the child's dirty flag to true to force transform updates.
The Node instance to append as a child.
Overrides polymorphic routines to pack normalized direction vectors and shadow status flags. Uses the world matrix to project forward directional rays.
Aligned directional LightGPUData.
Compiles and returns active shadow map configurations.
ShadowConfig descriptors, or null if shadow casting is disabled.
Computes and returns the world-space bounding box (AABB) of this node's collision shape. Transform the local shape bounds by the node's current world-space transformation matrix.
The transformed AABB bounding box, or null if no collision shape is set.
Determines if this node's world-space collision bounds overlap with another node's bounds. Both nodes must have active collision shapes; returns false otherwise.
The other Node3D instance to test against.
True if the world-space AABBs intersect, false otherwise.
Removes a child node from this node's hierarchy. Clears the parent reference of the child node and sets its dirty flag.
The Node instance to detach.
Helper method to set position, rotation, and scale components simultaneously. Copies existing components from provided vectors and marks the node transform as dirty.
Performs a depth-first traversal of the node hierarchy starting from this node, executing the provided callback on each visited node.
The function to invoke for each node.
Recomputes the local transformation matrix (localMatrix) by applying
translation, Euler rotation, and scaling transformations sequentially.
Overrides the base Node behavior to process component values.
Updates the global world matrix of this node and recursively propagates the updates down the hierarchy to all child nodes.
If true, forces transformation matrices to be recomputed even if they are not flagged as dirty.
Number of cascades for CSM (min 1, max 4). Defaults to 4.
Factor weighting linear vs logarithmic cascade splits (between 0.0 and 1.0). Defaults to 0.85.
If true, enables rendering of a depth texture from this light's perspective.
ReadonlychildrenList of child nodes belonging to this node.
Optional collision shape representing the physical bounds of this node. Utilized for standard AABB intersection tests and spatial overlap checks.
Maximum distance along camera depth for shadow mapping projection. Defaults to 100.0.
Whether the local transform has changed and needs to be recomputed and propagated.
Local transformation matrix relative to the parent node.
Unique identifier or friendly name for the node.
Parent node in the scene graph. Null if this is the root node.
Custom depth bias to avoid shadow acne or peter panning. Defaults to 0.0001.
Near/Far depth boundary limits of the shadow projection volume.
Resolution of the generated shadow map texture.
Boundary half-extents defining width/height limits of the orthographic shadow view box.
If true, uses Cascaded Shadow Maps (CSM) to divide the frustum into depth layers.
Enables hardware Percentage-Closer Filtering (PCF) to smooth shadow boundary edges.
Visibility flag. If false, this node and its descendants are typically skipped in rendering.
Global world transformation matrix relative to the scene origin.
DirectionalLight represents an infinitely far light source emitting parallel light rays along a uniform coordinate direction (e.g. sunlight). Can be configured to generate standard orthographic shadow depth maps.