是否可以(在OpenGL计算着色器中)绑定与image2D结构相同的图像的3个mip映射? 现在,我的计算着色器中有类似的内容:
layout (binding = 0, rgba16) uniform writeonly image2D textureMipMapLevel0;
layout (binding = 1, rgba16) uniform writeonly image2D textureMipMapLevel1;
layout (binding = 2, rgba16) uniform writeonly image2D textureMipMapLevel2;
然后:
if(z == 0)
{
imageStore(textureMipMapLevel0, iTextureCoords, vec4(1.0, 0.0, 0.0, 1.0));
}
else if(z == 1)
{
imageStore(textureMipMapLevel1, iTextureCoords, vec4(0.0, 1.0, 0.0, 1.0));
]
else
{
imageStore(textureMipMapLevel2, iTextureCoords, vec4(0.0, 0.0, 1.0, 1.0));
}
有没有类似的函数:getTextureByTextureUnit或类似的东西来使用我的z值而不是乘法if和else块?每当我改变许多MIP贴图时,我都必须生成完全不同的着色器程序...