opengl - 在计算着色器中将 int 正确转换为 uint
问题描述
在计算着色器中,我正在使用r16ui
图像,但我遇到了问题:
layout (binding = 0, r16ui) uniform writeonly uimage2D texture;
imageStore(texture, iTextureCoords, uvec4(0xffff, 0, 0, 0));
结果buffer
is not 0xffff
but 32767
。如何正确转换0xffff
int
为uint
内部着色器?
解决方案
好的问题解决了!我已将纹理传递给计算着色器(通过 bindImage),因为 GL_R16I 而不是 GL_R16UI。这就是问题所在。
推荐阅读
- flutter - 颤动的连接状态。等待无法加载图像
- docker-compose - Minio 安装在 Traefik 后面
- python - 使用 Fast AI 的博客主题创意生成器
- firebase - Android Studio Firebase 云消息传递不起作用?
- python - 将 Python 字典插入另一个字典,生成 .plist 文件?
- azure - 我可以使用免费的 F1 计划将过期的 azure 订阅转换为“即用即付”订阅吗?
- swift - Instragram Basic API iOS的逻辑
- laravel - 为什么中间件总是触发?
- python - 如何将列值解析为数据框中的多行?
- r - 最短路径计算因 igraph r 崩溃 - 最大节点数?