首页 > 解决方案 > 在计算着色器中将 int 正确转换为 uint

问题描述

在计算着色器中,我正在使用r16ui图像,但我遇到了问题:

layout (binding = 0, r16ui) uniform writeonly uimage2D texture;
imageStore(texture, iTextureCoords, uvec4(0xffff, 0, 0, 0));

结果bufferis not 0xffffbut 32767。如何正确转换0xffff intuint内部着色器?

标签: openglglslshaderdirectxhlsl

解决方案


好的问题解决了!我已将纹理传递给计算着色器(通过 bindImage),因为 GL_R16I 而不是 GL_R16UI。这就是问题所在。


推荐阅读