Opengl ES 2.0:获取纹理大小和其他信息

问题的上下文是Android环境中的OpenGL ES 2.0。我有质地。没问题显示或使用它。

是否有一种方法可以仅从其绑定ID开始知道其宽度和高度以及其他信息(例如内部格式)?

我需要在不知道纹理大小的情况下将纹理保存到位图。

回答:

ES 2.0中没有。实际上不存在该功能真让人感到惊讶。您可以获取渲染缓冲区的大小,但不能获取纹理的大小,这似乎是不一致的。

唯一可用的是您可以通过获取的值glGetTexParameteriv(),即纹理的FILTERWRAP参数。

ES 3.0也没有。仅在ES 3.1

glGetTexLevelParameteriv()中添加了它,使您可以访问要查找的所有值。例如,获取当前绑定纹理的宽度和高度:

int[] texDims = new int[2];

GLES31.glGetTexLevelParameteriv(GLES31.GL_TEXTURE_2D, 0, GL_TEXTURE_WIDTH, texDims, 0);

GLES31.glGetTexLevelParameteriv(GLES31.GL_TEXTURE_2D, 0, GL_TEXTURE_HEIGHT, texDims, 1);

以上是 Opengl ES 2.0:获取纹理大小和其他信息 的全部内容, 来源链接: utcz.com/qa/399062.html

回到顶部