QOpenGL纹理层数

QOpenGLtexture number of layers

本文关键字:纹理 QOpenGL      更新时间:2023-10-16

我正在使用Qt上的GL_TEXTURE_2D_ARRAY和QOpenGLTexture。我想知道这种纹理的层数是否有任何限制?我想拥有 81 x 81 层,但不知何故,它现在仅适用于 81 x 25 层。没有分割错误,我只呈现黑屏而不是纹理。

是的,有限制。您可以通过调用

GLint maxLayers;
glGetIntegerv(GL_MAX_ARRAY_TEXTURE_LAYERS, &maxLayers);

保证至少为 256。

如果请求的图层过多(或由于任何其他原因不支持的纹理(,则会生成相应的错误。您可以使用 glGetError 查询错误。