# Graphics Backend The `simvx.graphics` package provides GPU-accelerated Vulkan rendering for SimVX. ## Architecture SimVX uses a **GPU-driven forward renderer** — all draw calls use `vkCmdDrawIndexedIndirect` with no Python loops during rendering. Object transforms, materials, and draw commands are packed into flat NumPy arrays and uploaded to SSBOs once per frame. ### Key Features - **Multi-draw indirect** — thousands of objects in a single Vulkan draw call - **SSBO-driven data** — transforms, materials, and lights in Shader Storage Buffer Objects - **Bindless textures** — up to 4096 textures in a single descriptor array - **Multi-viewport** — split-screen, picture-in-picture, offscreen render targets - **Frustum culling** — CPU-side per-viewport bounding-sphere culling ## Guides - {doc}`app` — App class, game loop, and backend swap - {doc}`testing` — Headless rendering, pixel assertions, and visual regression tests ## API Reference See {py:mod}`simvx.graphics` for the complete API.