如何在 GLSL 中获取图像单元(例如 image2D)的大小,就像textureSize 一样

joz*_*yqk 3 opengl glsl image-unit

textureSize是一个方便的函数,可以在着色器中获取纹理尺寸,而无需将它们作为制服手动传递。

是否有类似的图像单元API ?

joz*_*yqk 5

是的,它是在 OpenGL 4.3 中:

例子:

layout(rgba32f) uniform image2D myImage;
...
ivec2 size = imageSize(myImage);
Run Code Online (Sandbox Code Playgroud)