SDL3Renderer Class
Definition
Namespace: Brine2D.Rendering
SDL3 GPU API implementation of the renderer.
C#
internal sealed class SDL3Renderer : Brine2D.Rendering.IRenderer, Brine2D.Rendering.IDrawContext, System.IDisposable, Brine2D.Common.ISDL3WindowProvider, Brine2D.Rendering.ITextureContext
Inheritance System.Object → SDL3Renderer
Implements IRenderer, IDrawContext, System.IDisposable, ISDL3WindowProvider, ITextureContext
| Methods | |
|---|---|
| ApplyPostProcessing() | Applies post-processing effects to the current frame. Only works if post-processing is enabled via options. |
| BeginFrame() | Begins a new frame. Silently returns \(no\-op\) when the renderer is not initialized, suspended, or unable to acquire GPU resources. Draw calls issued without a successful BeginFrame() are dropped. |
| DrainPendingUploads() | Releases all pending upload resources unconditionally. The caller must ensure SDL3.SDL.WaitForGPUIdle\(System\.IntPtr\) has completed before calling this method so that all fences are already signaled. |
| DrawTexture\(ITexture, float, float\) | Draw texture at position \(float x, y, top\-left anchor\). |
| DrawTexture\(ITexture, float, float, float, float\) | Draw texture at position with explicit width/height \(top\-left anchor\). |
| DrawTexture\(ITexture, Vector2\) | Draw texture at position \(Vector2, top\-left anchor\). |
| DrawTexture\(ITexture, Vector2, Nullable<Rectangle>, Nullable<Vector2>, float, Nullable<Vector2>, Nullable<Color>, SpriteFlip\) | Draw a texture with full control over transform, origin, scale, and flip. |
| EndFrame() | Ends the current frame and submits the command buffer. Silently returns \(no\-op\) when the renderer is not initialized or disposed. When suspended, pending draw calls are discarded but the command buffer is still submitted so GPU resources are not leaked. |
| OnWindowResized\(WindowResizedEvent\) | |
| PopRenderTarget() | Pop the current render target from the stack. |
| PushRenderTarget\(IRenderTarget\) | Push the current render target onto a stack and set a new one. Useful for nested render-to-texture operations. |
| RenderGlyphs\(ReadOnlySpan<char>, float, float, Color, ITexture, float, float, float, float, bool, float, Action<float,float,float>, Nullable<float>\) |