如何在OpenGL 4.5中初始化立方体贴图数组?

时间:2018-02-23 04:02:28

标签: c++ opengl textures

我想要一个10个立方体贴图的立方体贴图数组,每个立方体贴图的分辨率为2048x2048,只有1个mipmap级别。

我目前正在尝试初始化为:

    glGenTextures(1, &shadowMapArray);

    glBindTexture(GL_TEXTURE_CUBE_MAP_ARRAY, shadowMapArray);
    glTexStorage3D(GL_TEXTURE_CUBE_MAP_ARRAY,1, GL_R8, 2048, 2048, 10);

返回GL_INVALID_VALUE枚举器。

1 个答案:

答案 0 :(得分:2)

对于cube map arrays,深度不是数组图层的数量。它是层面的数量,必须是6的倍数。因此,如果您需要10个立方体贴图阵列图层,则需要60个图层面。

处理多维数据集地图数组的每个OpenGL API都采用图层面索引/计数,而不是图层。