Description
Replace the current forward rendering pipeline with a deferred rendering approach. Currently the game has 1-2 lights with single-pass Blinn-Phong, so this is not urgent — implement when light count grows or when post-processing effects (SSAO, bloom) are desired. Only justified with 10+ dynamic lights. Adds memory cost (3-4 full-resolution textures) and complicates transparency handling.
Steps
- Implement G-Buffer render targets (position, normal, albedo, specular) and geometry pass
- Create fullscreen quad and light accumulation shader that samples G-Buffer
- Handle transparent objects via forward rendering over deferred result
- Update material system for G-Buffer output and add composite pass with ambient
- Profile and compare vs forward rendering
Description
Replace the current forward rendering pipeline with a deferred rendering approach. Currently the game has 1-2 lights with single-pass Blinn-Phong, so this is not urgent — implement when light count grows or when post-processing effects (SSAO, bloom) are desired. Only justified with 10+ dynamic lights. Adds memory cost (3-4 full-resolution textures) and complicates transparency handling.
Steps