我正在使用宏创建main,并且需要能够在编译时检查选定的SubSystem,/ SUBSYSTEM:WINDOWS或/ SUBSYSTEM:CONSOLE,以便生成适当的主函数.是否有#define我可以检查完成此操作?
我有一个内部格式的3D纹理,GL_R32UI只要我假装它的浮点纹理,写入就可以正常工作.
那就是我把它绑定为
layout(binding = 0) uniform image3D Voxels;
Run Code Online (Sandbox Code Playgroud)
并写信给它
imageStore(Voxels, coord.xyz, vec4(1));
Run Code Online (Sandbox Code Playgroud)
一切都按预期完成.但是,在指定正确的类型时尝试绑定它
layout(r32ui, binding = 0) uniform uimage3D Voxels;
Run Code Online (Sandbox Code Playgroud)
并写信给它
imageStore(Voxels, coord.zxy, uvec4(1));
Run Code Online (Sandbox Code Playgroud)
似乎没有用,也就是说,没有任何东西写入纹理.我想让这项工作正确,以便我可以使用这些imageAtomic操作.任何人都知道会发生什么事吗?
是否可以将 3D RGBA32F 纹理作为与 imageAtomic 操作(即 R32F)兼容的类型传递给着色器,然后以某种方式修改 ivec3 索引,以便确定性地访问 RGBA32F 纹理的适当组件?
我知道这对于索引更直接的缓冲区是可能的,但 ivec3 似乎会阻止巧妙的索引操作。