Rendering

OpenGL included.
OpenGL not required.

The built-in backend uses Silk.NET.OpenGL. VOID's higher-level rendering systems are designed around public renderer-neutral contracts so another backend can replace it without redefining the rest of the framework.

One default. More than one possible backend.

VOID 2.x uses SDL3 for the platform layer, Silk.NET.OpenGL for the built-in renderer, and Silk.NET.OpenAL for audio. The OpenGL implementation is the default renderer, not the definition of the renderer API.

Backend authors can implement the public graphics contracts for APIs such as Vulkan, Direct3D, Metal, WebGPU, OpenGL, or another renderer.

Higher-level systems stay neutral.

Sprite batching, primitives, textures, render targets, cameras, shaders, and other game-facing systems should not need to become API-specific just because the backend changes.

VOID Engine renderer architecture showing the API-agnostic game and rendering layers, renderer abstraction, pluggable graphics backends, SDL3, and OpenAL.

IRendererBackend

Backend-level renderer integration and lifecycle.

IGraphicsDevice

Renderer-specific GPU behavior behind a public device contract.

IRendererContext

Renderer context data, including native platform handles when a backend requires them.

Why it matters.

A project can begin with the built-in OpenGL backend and still have an architectural path to another graphics API later. The goal is not to make every developer write a renderer. The built-in renderer exists so normal projects can simply use VOID.