我在 Swift 中使用 .bgra8Unorm 格式声明了一个 Metal 纹理。现在在 Metal 计算 kernel 中,我使用 half 数据类型访问它(我相信 Apple 的示例就是这样做的)。
texture2d<half, access::sample> inTexture [[ texture(0) ]]
是否会以这种方式(通过采样器)访问 bgra8Unorm 纹理和/或将其写回自动将 half 值与 8 位整数打包和解包?当我将负 half 值写入纹理时会发生什么?
Best Answer-推荐答案 strong>
Yes .当写入具有归一化无符号整数分量的纹理时,这些值被有效地钳制为 [0, 1],然后按格式的最大值(在本例中为 255)进行缩放。
关于ios - Metal 纹理格式,我们在Stack Overflow上找到一个类似的问题:
https://stackoverflow.com/questions/41140695/
|