opengl-es - OpenGLES : How to find Texture Size

标签 opengl-es

我正在使用一些旧的 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/

相关文章:

iOS - GPU 加速矩阵转置、乘法和特征分解困境

iphone - glReadPixels 不适用于 iPhone

Android 和 OpenGL : can't call glGetString(.。)

android - 是否可以使用 Z 坐标使 Android 游戏在多种屏​​幕尺寸上兼容?

java - 旋转物体使其变小

android - 如何在 Android 上调试着色器

c++ - 我如何在渲染 VBO 后才更改纹理坐标?

iphone - OpenGL ES View : how to orient it to landscape?

ios - OpenGL ES - GLSL 返回计算

opengl-es - 如何在 GLSL 中编写片段着色器来对 9 个 float 的数组进行排序