我正在使用一些旧的 OpenGL 代码,但我遇到了一些问题...
glGetTexParameterfv(GL_TEXTURE_2D, 0, GL_TEXTURE_WIDTH, &glW);
glGetTexParameterfv(GL_TEXTURE_2D, 0, GL_TEXTURE_HEIGHT, &glH);
现在我是 OpenGL 的新手,但我猜这捕获了纹理的高度和宽度。问题是,OpenGLES 没有 GL_TEXTURE_WIDTH 或 HEIGHT。现在我知道每个人给出的第一个答案是“你需要自己管理它”,但是,这是一个相当大的代码库,需要花费一些时间才能弄清楚。
我的问题是...
如何在 OpenGLES 中获取纹理的宽度/高度?
最佳答案
明显的 react 问题:你为什么需要这些信息?
撇开明显的问题不谈,纹理大小并没有直接暴露。您可能会做的最好的事情是使用 glTexSubImage
检查 GL_INVALID_VALUE
来搜索大小 — 我对 GLES man page 的阅读width = height = 0 不是错误条件,因此您可以在不实际上传任何数据的情况下寻找可接受的最大 (x,y)。
关于opengl-es - OpenGLES : How to find Texture Size,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16040933/