I first presented my PBR work about a year ago, since then I've been tweaking and making improvements.
Over the past 6 months Leadwerks has had some great updates for graphics junkies like me .The HDRi and environment probe features look great and have helped with 2 of the main issues with the last PBR system. Now what you see in the editor is what you get in the game, and HDR means proper tonemapping and a wider range of possible light intensities. Both of which are important for realistic PBR.
I currently plan on using this for my current project, so expect consistent updates as I battle test it.
The current build is available on github. Any issues and suggestions to help improve it are welcome.
Limitations / improvements
- Requires a gamma-correction post process shader. Not a huge issue, adding a pp is pretty easy but still something to remember.
- Currently the built in environment probes are stored in a low dynamic range. This leads to clamping and precision errors as HDR values move towards extremes. this limits the usefulness of HDR. This is an engine issue.
- Probes also use simple mipmapping for different roughness values, PBR often performs a convolution on stored cube-maps to better match reflection blurring due to roughness. A fix may be possible for this, but would require C++.