| Camera2D |
A 2D camera for viewing and navigating the game world. |
| CameraBounds |
Constrains camera movement to stay within world bounds. |
| CameraExtensions |
Stateless interpolation helpers for any ICamera. |
| CameraManager |
Default implementation of camera manager. Manages multiple cameras for different rendering viewports. |
| DrawContextExtensions |
Scoped helpers for IDrawContext state that auto-restore on dispose. |
| FontAtlas |
Represents a font atlas containing pre-rendered glyphs packed into a texture. |
| GpuDeviceHandle |
Shared, mutable reference to the GPU device pointer. The renderer creates one instance and passes it to every texture it allocates. When the renderer destroys the device, it calls Brine2D.Rendering.GpuDeviceHandle.Invalidate, and all textures that still reference this handle see System.IntPtr.Zero instead of a dangling pointer. |
| GPUDriverExtensions |
|
| HeadlessFontLoader |
No-op font loader for headless mode (servers, testing). Returns stub fonts; all operations are silently ignored. |
| HeadlessRenderer |
No-op renderer for headless mode (servers, testing). All rendering operations are silently ignored. CreateRenderTarget(int, int) is the sole exception: render targets require GPU infrastructure that does not exist in headless mode and throw System.NotSupportedException. |
| HeadlessTextureLoader |
No-op texture loader for headless mode (servers, testing). Returns zero-size stub textures; all operations are silently ignored. |
| RendererExtensions |
Extension methods for IRenderer to simplify common operations. |
| RenderingOptions |
Configuration options for the rendering system. |
| RenderingServiceCollectionExtensions |
Extension methods for registering rendering services. |
| ScissorRectHelper |
Shared scissor rectangle intersection logic used by both HeadlessRenderer and SDL3StateManager. |
| SDL3BatchRenderer |
Handles vertex batching and indexed primitive rendering operations. All geometry is emitted as groups of four vertices with a pre-generated static index buffer using the quad pattern [0, 1, 2, 1, 3, 2], reducing vertex throughput by a third for quads. |
| SDL3Font |
SDL_ttf implementation of a font. |
| SDL3FontLoader |
SDL_ttf implementation of font loader. |
| SDL3FrameManager |
Manages frame lifecycle including command buffers, swapchain acquisition, and presentation. |
| SDL3Lifecycle |
Owns the SDL3 process-level lifetime. ...SDL_Quit intentionally lives in Brine2D.Rendering.SDL3Lifecycle.Dispose, not Microsoft.Extensions.Hosting.IHostedService.StopAsync(System.Threading.CancellationToken), because StopAsync runs before DI disposal — calling it there would pull the rug from under services like AudioService that release SDL resources in their own System.IDisposable.Dispose. |
| SDL3Renderer |
SDL3 GPU API implementation of the renderer. |
| SDL3RenderTargetManager |
Manages render targets and post-processing effects. |
| SDL3Shader |
SDL3 GPU shader implementation. |
| SDL3ShaderLoader |
SDL3 shader loader using ShaderCross for cross-platform compilation. ShaderCross accepts HLSL or SPIRV as input. |
| SDL3StateManager |
Manages render state: blend modes, scissor rectangles, layers, and camera transforms. |
| SDL3TextRenderer |
Handles text rendering using font atlases and markup parsing. |
| SDL3Texture |
SDL3 GPU API texture implementation. |
| ShaderSource |
Represents shader source code. |
| SpriteBatcher |
Batches sprite draw calls for efficient rendering. Sorts and groups sprites before submission to minimize state changes and draw calls. |
| TilemapRenderer |
Handles rendering of tilemaps with sprite batching. Separates rendering from core tilemap data. Uses SpriteBatcher for optimal performance. |
| WindowOptions |
Configuration options for the game window. |