![]() |
Rendering Engine 0.2.9
Modular Graphics Rendering Engine | v0.2.9
|
Rendering Engine applications can be configured using a JSON-based configuration file. Each new project generated by the project creation tool includes a template config file:
Within an actual project, this file appears as:
During the build process, this file is copied into the application’s build directory, where the engine reads it at startup.
A configuration file has the following structure:
Default values are used if the configuration file is missing or contains invalid data.
At runtime, these values are read into the following structure:
For details on how configuration loading is implemented, refer to:
Application name used in:
If true, application starts in full-screen mode. Window size parameters are ignored.
Window size in pixels (used only when not full-screen).
List of font sizes to preload at application startup. Preloading font sizes:
Each specified size will generate a separate font atlas for every requested script.
List of Unicode script ranges to preload. Supported scripts available for preloading:
If a script is specified in the configuration file, the engine will create a font atlas for that script using all sizes defined in text.fontSizePreload.
If a script is not specified but is used in a TextBlock2D, the engine will still render the text. In this case, glyph rasterization will be performed on demand at runtime.
Some scripts contain very large Unicode ranges (for example, Han). Preloading an entire script range may:
If your application does not render extensive text for such scripts, it may be more efficient not to preload them. For guidance on measuring startup time, RAM usage, and GPU memory usage, see: Performance Profiling and Analysis Guide
Certain writing systems require text shaping to correctly apply contextual glyph rules and ligatures. For these scripts:
To enable shaping for a text block:
Refer to the API documentation of TextBlock2D for further details.
Scripts requiring shaping include:
Controls engine logging verbosity.
Available values:
Enables FPS smoothing and frame pacing behavior. When enabled:
When disabled:
Specifies the desired frame rate cap.
Examples:
| targetFPS | Behavior |
|---|---|
| 0 | Uncapped |
| 60 | Cap at 60 FPS |
| 120 | Cap at 120 FPS |
Enables runtime statistics overlay. Displays: