public class Renderer implements AutoClosable
OpenGL renderer with persistent mesh uploads and one native submission per frame. CPU work is O(visible scene nodes), not O(vertices). Owns GPU resources; use and close on the creating thread. Offscreen rendering uses a hidden native surface and currently requires Windows or an X11 display with OpenGL 3.3. Example: try renderer = Renderer(): renderer.render(scene, camera, 640, 480)
| Modifier and Type | Member | Description |
|---|---|---|
| public readonly property | deviceDescriptiondeviceDescription as String |
Driver description after first render; includes actual device name. |
| public readonly property | statisticsstatistics as RenderStatistics |
Counter snapshot, O(1), without GPU synchronization. |
| Modifier and Type | Member | Description |
|---|---|---|
| public | bindSurface | Internal GUI binding, performed before the first render; does not create a GUI dependency in the scene API. |
| public | capturecapture(path as String) as Void |
Explicit synchronous framebuffer capture, BMP format. |
| public | clearMeshCacheclearMeshCache() as Void |
Releases cached meshes, retaining the context. |
| public | closeclose() as Void |
Releases GPU resources, idempotently. |
| public | recordSurfacerecordSurface(painter as Object) as Void |
Records a GUI viewport for clipping, overlays and explicit capture. |
| public | renderrender(scene as Scene, camera as PerspectiveCamera, width as Int, height as Int) as Void |
Draws scene using the camera. |