Documentation
Rendering
OpenGL-based rendering system with materials, meshes, and post-processing.
Rendering System
The renderer is OpenGL-based and includes:
- GPU meshes for primitives, imported models, and raw mesh assets.
- Texture and shader caching.
- Skybox rendering.
- Render targets for game view and preview.
- Optional post-processing pipeline.
Default Shader Paths
Default shader paths are defined in Renderer:
Resources/Shaders/vert.glsl
Resources/Shaders/frag.glsl
Resources/Shaders/skinned_vert.glsl
Resources/Shaders/ (post-FX shaders)Materials & Textures
Each renderable object has:
MaterialProperties- color, ambient/specular strength, shininess, texture mix- Optional
materialPathfor external material assets - Albedo/overlay/normal map textures
- Per-object vertex/fragment shader overrides
Models & Meshes
Mesh Sources
- OBJ via
OBJLoader- includes triangle data for picking and physics. - Assimp via
ModelLoaderfor formats like FBX/GLTF, with node hierarchies and animation data.
Raw Meshes
Editable mesh assets are stored as .rmesh and can be loaded/saved via ModelLoader.
Post-Processing
Post-FX can be enabled per camera and configured in PostFXSettings.
Available Effects
- Bloom - Bright area glow effect
- Exposure/Contrast/Saturation - Color grading controls
- Color Filter - Global color tint
- Motion Blur - History buffer-based blur
- Vignette - Edge darkening effect
- Chromatic Aberration - Color fringing
- Ambient Occlusion - Screen-space AO