我在Swift中使用格式 .bgra8Unorm 声明了一个金属纹理 . 现在在金属计算 kernel 我使用 half 数据类型访问它(我相信Apple的例子是这样做的) .
.bgra8Unorm
kernel
half
texture2d<half, access::sample> inTexture [[ texture(0) ]]
以这种方式访问 bgra8Unorm 纹理(通过采样器)和/或自动写回来自动打包和解压缩8位整数的 half 值?当我向纹理写入负 half 值时会发生什么?
bgra8Unorm
Yes . 当使用规范化的无符号整数分量写入纹理时,这些值被有效地钳位到[0,1],然后按格式的最大值(在这种情况下为255)进行缩放 .
1 回答
Yes . 当使用规范化的无符号整数分量写入纹理时,这些值被有效地钳位到[0,1],然后按格式的最大值(在这种情况下为255)进行缩放 .