C++ QOpenGLtexture层数

C++ QOpenGLtexture层数,c++,qt,opengl,glsl,C++,Qt,Opengl,Glsl,我正在使用Qt上的GL_纹理_2D_数组和QOpenGLTexture。我想知道这种纹理的层数是否有限制?我想有81 x 81层,但不知怎的,它现在只适用于81 x 25层。没有分割错误,我只得到一个黑屏渲染,而不是纹理 是的,有一个限制。您可以通过调用来查询限额 GLint maxLayers; glGetIntegerv(GL_MAX_ARRAY_TEXTURE_LAYERS, &maxLayers); 保证至少256个 如果请求的层太多(或由于任何其他原因不支持的纹理),则会生成

我正在使用Qt上的GL_纹理_2D_数组和QOpenGLTexture。我想知道这种纹理的层数是否有限制?我想有81 x 81层,但不知怎的,它现在只适用于81 x 25层。没有分割错误,我只得到一个黑屏渲染,而不是纹理

是的,有一个限制。您可以通过调用来查询限额

GLint maxLayers;
glGetIntegerv(GL_MAX_ARRAY_TEXTURE_LAYERS, &maxLayers);
保证至少256个


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

查询错误,谢谢!就这样!因此,如果我使用GL_TEXTURE_3D?@user3178756:no,层的限制与深度限制相同。支持的
GL_TEXTURE_3D
的最大深度为
GL_MAX_3D_TEXTURE_SIZE