[ ] Better SSAO Support
Refactor R3D_End so that in forced forward mode, SSAO can also be applied to opaque objects stored in the forward draw calls array.
[ ] Add Skybox Intensity Factor Introduce a control factor for the skybox intensity. This factor should be applied both when rendering the skybox and when computing IBL for objects.
[ ] Add Texture Coordinate Scale & Offset in R3D_Material
Add texture coordinate scale and offset parameters to R3D_Material (currently only available for R3D_Sprite). This may also require reworking how sprite animations are handled.
[ ] Add 3D Model Animation Support for Instanced Rendering Add support for animated 3D models in instanced rendering. Initially, all instances will share the same animation frame.
[ ] Add ‘Light Affect’ Factor for Ambient Occlusion Currently, occlusion (from ORM or SSAO) only affects ambient light (simulated or IBL). Add a factor to control how much direct lighting is influenced too. While this is less physically accurate, it allows better artistic control. Note: Consider splitting this into two separate factors: one per material and another for SSAO globally.
[ ] Create Shader Include System
Implement an internal shader include system to reduce code duplication in built-in shaders. This could be integrated during the compilation phase, either in glsl_minifier or a dedicated pre-processing script.
[ ] Add Support for Custom Screen-Space Shaders (Post-Processing) Allow custom shaders to be used in screen-space for post-processing effects.
[ ] Add Support for Custom Material Shaders Allow custom shaders per material. This will likely require a different approach for deferred vs. forward rendering. Deferred mode will probably offer fewer possibilities than forward mode for custom material shaders.
[ ] Improve Shadow Map Management
Instead of using one shadow map per light, implement an internal batching system with a 2D texture array and Sample2DArray in shaders.
Note: This would remove per-light independent shadow map resolutions.
[ ] Implement Cascaded Shadow Maps (CSM) Add CSM support for directional lights.
[ ] Implement Screen Space Reflections (SSR) Add SSR support with an example.
Note: v0.6 features are still incomplete.
Sampler2DArray for shadow maps, explore using UBOs for lights. Evaluate whether this is more efficient than the current approach.