![]() |
Lysa Nodes
0.0
Lysa Nodes — Scene Graph for the Lysa Engine
|
MainWindow.ixx : window and renderer configuration The window configuration and the MainWindow class are co-located in src/MainWindow.ixx. lysa::RenderingWindowConfiguration is an aggregate that describes everything from the window title down to the post-processing stack:
MainWindow class MainWindow subscribes to READY and CLOSING exactly as in the basic tutorial:
READY fires once the GPU swapchain is initialised. The window is hidden by default and shown only at this point so the first visible frame is already rendered.
rendererType selects the rendering pipeline:
| Value | Description |
|---|---|
DEFERRED | G-buffer pass → lighting pass → post-processing. Best for many dynamic lights. |
FORWARD | Single forward color pass. Simpler; fewer lights per draw call. |
The deferred path writes albedo, normals, roughness/metallic, and depth into G-buffers during the geometry pass, then resolves all lighting in a single compute pass. This decouples the cost of lighting from the number of rendered triangles, making it efficient for scenes with many overlapping lights.
presentMode:
| Value | Effect |
|---|---|
VSYNC | Locks to the display refresh rate; no tearing |
IMMEDIATE | No synchronisation; lowest latency but may tear |
depthStencilFormat: D32_SFLOAT gives full 32-bit depth precision. Use D24_UNORM_S8_UINT when a stencil buffer is needed alongside depth.
| Field | Options |
|---|---|
toneMappingType | NONE, REINHARD, ACES |
postProcessAntiAliasingType | NONE, FXAA, SMAA |
ambientOcclusionType | NONE, SSAO, GTAO |
bloomEnabled | true / false |
ACES tone mapping maps HDR radiance values to the display range with a cinematic contrast curve. SMAA (Subpixel Morphological Anti-Aliasing) is a post-process filter that reduces jaggies without accumulation artefacts. GTAO (Ground Truth Ambient Occlusion) is a screen-space technique that darkens concavities for added depth.
All post-processing passes run as compute shaders on the GPU and can be individually disabled for performance profiling.
Next : Node