public class Renderer implements AutoClosable
Renderer with persistent mesh uploads and one native submission per frame. Windows and Linux/X11 use OpenGL 3.3: CPU submission work is O(visible nodes), while the GPU transforms vertices and shades fragments. KlynOS explicitly uses a CPU software rasterizer, with work proportional to geometry and covered pixels; identical batches reuse the previous image. It does not emulate a GPU. Use and close on the creating thread. Offscreen OpenGL needs a display; offscreen CPU rendering on KlynOS does not create a native window. Example: try renderer = Renderer(): renderer.render(scene, camera, 640, 480)
| Modifier and Type | Member | Description |
|---|---|---|
| public readonly property | deviceDescriptiondeviceDescription as String |
Backend description after first render; explicitly identifies CPU on KlynOS. |
| public readonly property | statisticsstatistics as RenderStatistics |
Counter snapshot, O(1), without GPU synchronization or CPU rendering. |
| 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 backend. |
| public | closeclose() as Void |
Releases native renderer 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. |