I personally prefer to look at pictures and talk.
Here we will briefly describe the key steps in the gkengine HDR rendering process using graphs and text. If you need to parse it step by step, simply explain the selection of RT creation, release, and texture format. It may take a whole day. If we design the Framework again, the shader's actual processing may not be enough for a few days. So I will not explain the code in detail here.
But here are several key points:
- Importance of linear space:Maintaining illumination is very important in linear space. Only by performing operations in a linear space can we ensure that the illumination results are authentic and credible.
- Floating Point texture:HDR operations and RT must use floating-point textures. 8-bit textures are insufficient to express such precise brightness details.
- Texture size:The texture size should be carefully considered. Floating Point textures occupy a huge amount of bandwidth on the video card. They can save time while ensuring accuracy.
This process is for reference by graphic friends! Welcome!