In this post, I am going to describe some changes I did to my DirectX 12 rendering engine.
The main changes were in geometry buffers, code refactoring, the material generator, utils methods to build new scenes, new passes and the most important, new high-quality textures and 3D models.
Before, I was using the following geometry buffers
I was computing diffuse reflection (as result of diffuse irradiance environment cube map) and specular reflection (as result of specular pre-convolved environment cube map) and storing them in geometry buffers, but that is wrong. I can use normal and depth data and sample these cube maps in the Environment Pass.
Also, I was creating an additional geometry buffer to store depth in view space. I followed an article to reuse the already existent depth stencil buffer instead.
The final geometry buffers are the following
As I got high-quality textures and better 3D models, I decided to record a video with all the techniques currently implemented.