HDR渲染管道DIfferences

jam*_*o00 6 opengl directx 3d shader rendering

典型的HDR渲染管道和普通渲染管道之间有什么区别?(即bpp差异?一些额外的后处理步骤?)

Mat*_*gro 7

HDR渲染需要使用浮点缓冲区,因此每个像素的字节数之间存在差异.RGBA8缓冲区每像素使用4个字节,但RGBA16F缓冲区每像素使用8个字节.

并且当显示浮点缓冲区时,需要进行一些后处理以使信号有意义,因为FP编号可以在[0,1]范围之外,您对FP缓冲区进行后处理以将其转换为法线[0,1] ] RBGA8缓冲区,用色调映射运算符完成.


Goz*_*Goz 6

管道非常相似.要记住的是,您现在可以使用3个浮点数(即RGB)来表示光源.这使您可以将光源亮度设置为更亮或更暗.

如前所述,您需要使用浮点渲染目标.

不要在照明着色器中饱和,因为这会将您锁定在0到1的范围内.

有两种方法可以处理图像.一种是在写入后备缓冲区之前简单地将范围压缩回0到255范围.然而,这将完全没有意义,因为它将失去你拥有HDR的重点.最好的办法是编写曝光滤镜.

值得注意的是,大多数人会将曝光过滤后的相机效果应用于模型的饱和部分.最常见的形式是我们在电影中看到的" 绽放过滤器 ".但是,您可以使用大量不同的过滤器来提供良好的效果.搜索"条纹过滤器",以获得与盛开相结合的一种非常有用的效果.

这里有很多很好的一般信息.