Namespace ValveResourceFormat.Renderer ​
Namespaces ​
ValveResourceFormat.Renderer.Audio
ValveResourceFormat.Renderer.Buffers
ValveResourceFormat.Renderer.Entities
ValveResourceFormat.Renderer.Input
ValveResourceFormat.Renderer.Materials
ValveResourceFormat.Renderer.Particles
ValveResourceFormat.Renderer.PostProcess
ValveResourceFormat.Renderer.SceneEnvironment
ValveResourceFormat.Renderer.SceneNodes
ValveResourceFormat.Renderer.Shaders
ValveResourceFormat.Renderer.Utils
ValveResourceFormat.Renderer.World
Classes ​
Collects per frame managed allocation and garbage collector statistics.
Drives a model's skeleton from whichever owns the animation being played: the model's own player, or the player of an external NM skeleton whose pose is remapped onto the model by bone name.
Plays animations on a single skeleton: advances clip time, mixes the weighted clips into a frame and writes that frame's world-space pose. An owns one player per skeleton its model can be animated from.
Perspective camera with view and projection matrix management.
Depth range for a single layer of the scene.
Single GPU draw operation with geometry, material, and render state.
Manages flex controller state and morph target composition for facial animation.
Single drawable fragment within an aggregate with independent bounds.
OpenGL framebuffer object with color and depth attachments.
OpenGL environment initialization and default render state configuration.
Maps the engine's own vocabulary to the OpenGL equivalents, the way
does for image formats.Maps , the engine format vocabulary, to the OpenGL equivalents.
This makes the renderer unaware of graphics API specific formats, and we can later map these to anything else. The facts that hold for every API live on instead.
Caches GPU mesh buffers and vertex array objects for efficient mesh rendering.
GPU vertex and index buffers created from mesh data.
One command stream recorded against a 's objects.
A device can own several contexts; each is current on at most one thread at a time, so
is per thread and names the context the calling thread is recording into.Creates the GPU objects that one or more record against.
Renders an infinite reference grid on the XY plane.
Per scene owner of the tile and depth bin cull passes: the item layout, the GPU buffers they read and write, and the constants that tell the shading pass where to look.
Fullscreen overlay for the LightTiles and EnvmapTiles render modes, reading the tile masks directly rather than through the per fragment heat map.
Vertex array/buffer pair for drawing a colored line list with the default shader.
Base class for debug overlays that draw a line batch blended and without depth writes.
Sorts and dispatches batched mesh draw calls for a render pass.
Base class for scene nodes that contain a collection of renderable meshes.
Combines morph target deformations into GPU texture for facial animation rendering.
A single node in the octree containing elements and child nodes.
Debug visualization renderer for occluded object bounds in occlusion culling. Renders bounding boxes directly from GPU buffer using procedural vertex generation.
Spatial partitioning structure for efficient scene node culling and queries.
Debug visualization renderer for octree spatial partitioning structure.
Collects per frame rendering statistics.
Convex hull collision data with vertices, edges, and planes.
Triangle mesh collision data for ray tracing.
Debug visualization for physics traces: draws the player collision hull while player movement is active, and sweeps a small box from the camera to show where it lands.
Framebuffer for GPU-based object picking using unique object IDs.
Represents an animation clip with its playback state.
Pre-computed index buffer for rendering quads as triangle pairs.
Quad overdraw debug visualization.
Tracks and applies render state for one device context. Owns the pass baseline () and a shadow of the last applied state, so only sets what changed. State is per context, so each owns one.
OpenGL texture object with metadata for dimensions and filtering configuration.
GPU-ready mesh with draw calls, materials, and optional skeletal animation support.
Main renderer for Source 2 scenes with support for shadows, post-processing, and multiple render passes.
Shared context containing loaders and caches used by the renderer.
Ray tracing against Rubikon physics collision shapes including meshes and hulls.
OpenGL sampler object: the filtering and addressing state a texture is read with, overriding the parameters set on the texture itself for the unit it is bound to.
Container for scene nodes with spatial partitioning, lighting, and render state management.
Scene node for instanced rendering of aggregated world geometry.
Base class for all objects in the scene graph.
Renders selection outlines and debug information for selected scene nodes.
Allocates shadow map regions from an atlas using a bitmask occupancy grid of -pixel cells.
Culls and sizes lights and packs their shadow faces into the atlas each frame.
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.
Debug visualization for the dynamic node set, drawing each node's bounding box. There is no hierarchy to show: the boxes are all the set holds.
An append-only arena for building many formatted lines into one large backing buffer without allocating. Each returns its text as a slice that stays valid until the next .
A reusable fixed-size buffer for per-frame formatted text. Construct once, sized directly or from a worst-case template string, then into it each frame and pass it wherever is expected — no per-call allocations.
Renders text using multi-channel signed distance field fonts.
Utility class for measuring CPU and GPU timings of code regions.
Binds and deletes vertex array objects. Canonical locations let any shader draw any VAO, so nothing else catches a mismatch between the two. Debug builds check it here.
Marks a vertex struct field as a shader input. The buffer format follows from the field type, see
.Resolves shader input names and buffer semantics to their .
Gives the shader input names of a , and the buffer semantic that gets that slot.
Interleaved vertex layout of handbuilt geometry, held as the same input layout fields a mesh carries. Element order is buffer order, and offsets pack in declaration order unless given explicitly.
Structs ​
Precomputed sweep data for an axis-aligned box trace.
A visible light produced by a pass.
A shadow-casting light face queued for rendering into the shadow atlas.
State that is recorded in a command buffer rather than baking into a pipeline object.
Sets for its scope and restores the previous values on dispose.
AnimationController.ExternalSkeleton
An external NM skeleton the model can be animated from, and the retargeter mapping its poses back onto the model skeleton.
TextRenderer.TextMemory.FormatHandler
Interpolated string handler for , forwarding to the buffer-writing BCL handler.
View frustum for culling objects outside the camera's visible area.
RAII wrapper for OpenGL debug group markers.
Index buffer binding for draw calls.
Baked LOD switching data for one cluster of aggregated instances.
Small group of triangles on a mesh used for low level culling
Packed axis-aligned bounding box stored as two 32-bit values. Each uint packs three 10-bit normalized components (x/y/z in 0..1023).
Quantized cone used for backface/cone culling.
PickingTexture.PickingResponse
Object picking response containing intent and pixel data.
Pixel data read back from the picking framebuffer.
RAII wrapper timing a region that submits no GPU work.
Precomputed ray direction data for accelerated ray tracing.
Context data passed to scene nodes and renderers during draw calls.
Sets a render pass baseline for its scope and restores the previous one on dispose. Nesting-safe: compose the new baseline from so outer overrides (e.g. global wireframe) survive into sub-passes.
The complete render state for a draw, built from the packed rendersystemdx11 descriptors.
Draw call request with distance and render order for sorting.
Enumerates the events whose start is crossed while playback advances over a time range, handling loop wrap-around. Used by as it advances its clips; allocation free, so it can run every frame.
Describes the position and size of a shadow map region within the atlas texture.
The atlas placement of a single binned shadow face: its region and the matching shadow offset-scale.
Simple vertex with position and color for debug rendering.
Simple vertex with position, color, and normal for debug rendering.
Text for a . Converts implicitly from a string, or from a caller-owned char buffer slice to render without allocating — in which case the buffer must not be overwritten until runs.
TextRenderer.TextRenderRequest
Text rendering parameters.
Ray trace hit result with position, normal, and distance.
Context data passed to scene nodes during per-frame update.
One attribute of a . An offset of -1 packs it after the last one, and a location of -1 lets the layout place it.
Vertex buffer binding with stride and attribute layout.
Interfaces ​
The window side of a graphics context: the surface whose commands the context drives. Implemented by whoever owns the window.
Spatial set of scene nodes, queryable by frustum or box. Implemented hierarchically by
and flat by .Enums ​
Which batch of the cull bits buffer the overlay draws.
Per node flags about their desired render passes.
How a draw enters the shadow maps and the depth pre-pass. Declaration order is render order.
How many bones a vertex blends. Doubles as the D_SKINNING combo value.
Which passes of the frame beyond a node takes part in.
Indicates which spatial partition a scene node belongs to.
Type of interaction when picking an object.
Which target a pass draws into, for the layers that share one.
Rendering pass types that define draw call ordering.
Optional behaviors of an axis-aligned box trace.
Which pass of the frame an update belongs to.
Canonical vertex attribute locations, fixed per name so one VAO serves every shader that draws the geometry. stamps them onto the in declarations.

