Class SpatialNodeSet
Namespace: ValveResourceFormat.Renderer
Assembly: Renderer.dll
Spatial set for the scene nodes that move. Flat rather than hierarchical: relocating a node is six float stores and culling is a linear pass over bounds laid out for SIMD.
public class SpatialNodeSet : ISpatialSetInheritance
Implements
Properties
Count
Gets the number of nodes in the set.
public int Count { get; }Property Value
DebugRenderer
Gets or sets the debug visualization renderer for this set.
public SpatialNodeSetDebugRenderer? DebugRenderer { get; set; }Property Value
Dirty
Gets or sets whether the set needs rebuilding from the scene's node list.
public bool Dirty { get; set; }Property Value
Methods
Clear()
Removes every node from the set.
public void Clear()GetBounds()
Returns the bounds covering every node in the set, or an empty box when it has none.
public AABB GetBounds()Returns
GetNodes()
Returns the nodes currently in the set, for debug visualization.
public ReadOnlySpan<SceneNode> GetNodes()Returns
Insert(SceneNode)
Adds a node to the set and records its current bounds.
public void Insert(SceneNode node)Parameters
node SceneNode
Query(Frustum, List<SceneNode>)
Appends every node whose bounds intersect the frustum, testing a vector of nodes at a time.
public void Query(Frustum frustum, List<SceneNode> results)Parameters
frustum Frustum
Query(in AABB, List<SceneNode>)
Appends every node whose bounds intersect the given box.
public void Query(in AABB bounds, List<SceneNode> results)Parameters
bounds AABB
Update(SceneNode)
Refreshes a node's stored bounds. Nodes that are not in the set, because their layer is off or the set has been rebuilt since, are ignored.
public void Update(SceneNode node)Parameters
node SceneNode

