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¶
App Class — App class, game loop, and backend swap
Visual Testing — Headless rendering, pixel assertions, and visual regression tests
API Reference¶
See simvx.graphics for the complete API.