14 lines
1.3 KiB
Markdown
14 lines
1.3 KiB
Markdown
|
## HDR渲染纹理
|
|||
|
HDR渲染仅与后处理结合使用才有意义,因为我们无法更改最终的帧缓冲区格式。因此,当我们在CameraRenderer.Setup中创建自己的中间帧缓冲区时,我们将在适当的时候使用默认的HDR格式`buffer.GetTemporarayRT()`中使用`RenderTextureFormat.DefaultHDR`(后处理效果的RT格式),也就是R16G16B16A16_SFloat,而不是LDR的常规默认格式。
|
|||
|
|
|||
|
逐步执行DrawCall时,你会注意到场景看起来比最终结果要暗。发生这种情况是因为这些步骤存储在HDR纹理中。由于线性颜色数据按原样显示,因此看起来很暗,它错误地解释为sRGB。
|
|||
|

|
|||
|
|
|||
|

|
|||
|
|
|||
|
为什么亮度会变化?
|
|||
|
sRGB格式使用非线性传递函数。显示器会为此调整,执行所谓的伽马校正。伽玛调节函数通常用c的2.2次方和c原色近似,但实际传递函数略有不同。
|
|||
|
|
|||
|
## 解决因为高亮区域过小而导致的闪烁问题
|
|||
|
<video src="https://vdn1.vzuu.com/SD/d8b32ae4-48e8-11eb-9c34-7640c864ad74.mp4?disable_local_cache=1&auth_key=1634485320-0-0-203192af877eba6f1b1ae62e0e6d165b&f=mp4&bu=pico&expiration=1634485320&v=hw"
|
|||
|
</video>
|