片段着色器函数中float4和half4之间的主要区别是什么



我尝试设置MTLPixelFormatRGBA16Float的渲染管道和MTKView颜色附件像素格式。

然而,它似乎与MTLPixelFormatBGRA8Unorm_sRGB相同。

我只想使渲染颜色范围更高(HDR(。

片段函数的返回类型重要吗?

我应该设置什么来实现金属的高动态范围?

基于此金属着色语言规范

浮动:

32位浮点。浮点数据类型必须符合IEEE754单精度存储格式。

Fullfloat精度通常用于世界空间位置、纹理坐标或涉及复杂函数(如三角函数或幂/幂(的标量计算。

一半:

一个16位浮点值。半数据类型必须符合IEEE754二进制16存储格式。

半精度适用于短矢量、方向、对象空间位置和高动态范围颜色。

最新更新