I’ve been experimenting a little bit with deferred rendering now that we have MRT support. Although it wasn’t a showstopper, but it’s a lot easier and performant with.
There’s a bunch of things to improve and fix, but it’s a start anyway.
TODO:
- Attenuation is a bit simple and not exactly physically correct since linear + quadratic attenuation doesn’t work with light volumes
- Fix culling + depth testing for volumes to avoid light leaking
- Better light volume batching, they can’t be rendered in a single batch right now
- Specular component for the light calculation