API ReferenceGE Extensionsrender
HDR Post-Processing
Initializes the HDR post-processing chain (bright pass, downscale, luminance, combine) on first update. Creates engine-level PostEffect objects if they don't already exist.
Initializes the HDR post-processing chain (bright pass, downscale, luminance, combine) on first update. Creates engine-level PostEffect objects if they don't already exist.
Public API
| Function | Signature | Description |
|---|---|---|
M.onFirstUpdate | () | Creates HDR post-effect objects in the scene tree |
M.onSerialize | () | Returns {initialized = true} to persist state across Lua reloads |
M.onDeserialized | (data) | Restores initialized flag from serialized data |
Internals
Post-Effect Chain (created in order)
| Object Name | Class | Parent | Properties |
|---|---|---|---|
PostEffectBrightPassObject | PostEffectBrightPass | root | renderTime=PFXBeforeBin, renderBin=AfterPostFX, targetScale=0.5 0.5 |
PostEffectDownScaleObject | PostEffectDownScale | BrightPass | targetScale=0.5 0.5 |
PostEffectLuminanceObject | PostEffectLuminance | BrightPass | (defaults) |
PostEffectCombinePassObject | PostEffectCombinePass | BrightPass | (defaults) |
How It Works
onFirstUpdatechecks for null graphics device - skips if running headless- Looks up each post-effect object in the scene tree via
scenetree.findObject - Creates missing objects with
createObject()and registers them - DownScale, Luminance, and CombinePass are added as children of BrightPass
- The
initializedflag prevents re-creation across hot-reloads
Usage Examples
-- Normally loaded automatically by the engine render pipeline
-- The extension creates objects once and they persist in the scene tree
-- Check if bright pass exists
local bp = scenetree.findObject("PostEffectBrightPassObject")
if bp then
-- HDR chain is initialized
endKey Notes
- Idempotent: safe to call multiple times - only creates objects that don't exist
- Skips initialization if a null graphics adapter is detected (headless/server mode)
- All four post-effect objects form the bloom/HDR pipeline
- Target scale of
0.5 0.5means half-resolution render targets for performance
See Also
- Render OpenXR - VR/XR Runtime Management - Related reference
- Render Views - Offscreen Camera Screenshots - Related reference
- Render View Demo - Render View Usage Example - Related reference
- Game Engine Overview - Guide
Remote Control HTTP
Provides a simple HTTP server that exposes REST-style endpoints for remote vehicle control. Registers a virtual input device and emits axis/button events over HTTP.
OpenXR VR
Manages the OpenXR VR session lifecycle: toggling on/off, welcome dialog, debug ImGui panel, headset centering, state tracking, and error handling.