ecs-sandbox
                                
                                 ecs-sandbox copied to clipboard
                                
                                    ecs-sandbox copied to clipboard
                            
                            
                            
                        G-buffer work
Basic deferred shading is implemented, but the current implementation is far from optimal. I need to think about the data we need in the G-buffer, how we actually lay it out to stay efficient and especially how we organize this in code.
Todo:
- [x] Structure G-buffer into a class (done in #56 )
- [ ] Express shader passes and the information they share
- [ ] Use the existing OpenGL depth buffer instead of my own
- [ ] Remove the world position buffer, instead reconstruct it from depth buffer when needed
Challenges:
- The G-buffer should be fairly flexible (lower graphics settings may not need a specific buffer)
- The execution order of render passes should be more explicitly defined (?)
- The first, basic world/entity render pass draws to the color, normal, position, depth buffers.The second decal render pass renders to color, normal buffer but requires the depth buffer. This should be handled better in code.