我正在使用一些旧的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中获取纹理的宽度/高度?
答案 0 :(得分:3)
明显的反应问题:为什么需要这些信息?
除了明显的问题,纹理大小不会直接暴露。您可能做的最好的事情是使用glTexSubImage
检查GL_INVALID_VALUE
来搜索大小 - 我对GLES man page的读数是width = height = 0 isn这是一个错误条件,所以你可以寻找接受的最大(x,y)而不实际上传任何数据。