android - 查询一个GL_TEXTURE_EXTERNAL_OES的大小?
问题描述
在使用 NDK 相机界面时,我偶然发现了 SurfaceTexture 可以请求可以覆盖的 defaultSize 的问题。我想获得实际大小,但 SurfaceTexture 无法查询。所以我尝试了这个:
// this runs directly after SurfaceTexture.updateTexImage
GLfloat width, height;
glGetTexLevelParameterfv(GL_TEXTURE_EXTERNAL_OES, 0, GL_TEXTURE_WIDTH, &width);
glGetTexLevelParameterfv(GL_TEXTURE_EXTERNAL_OES, 0, GL_TEXTURE_HEIGHT, &height);
它在 Mali 系统上完美运行,但在 Adreno 系统上返回 GL_INVALID_ENUM。扩展的描述没有引入 GL_TEXTURE_EXTERNAL_OES 作为 GetTexLevelParameter 的有效参数,所以我假设我在 Mali 系统上很幸运。
有没有办法在 OpenGL ES (3.1) 中查询 GL_TEXTURE_EXTERNAL_OES 的大小?
解决方案
推荐阅读
- ios - performSegue 创建两个视图控制器
- sql-server - SQL Report Builder Expressions - 如果数据值字段没有任何数据,我如何将报告上的值显示为“---”
- sql - 如何在sql中执行存储在表列中的条件
- react-native - 如何从 Windows 机器上的 expo 服务器连接到 WSL
- android - 存根时出现空指针异常
- ubuntu - 通过 python paramiko ssh session 执行 Wine 命令失败
- python - 在 Python 中复制每个第二个矩阵元素
- java - 从第三方 Web 服务和应用程序的专用数据库中检索客户字段时的 CustomerDAO 替代方案
- android - 如何将图像上传到服务器,包括原始图像和调整大小图像?
- confluent-platform - RowSubscriber 如何判断窗口的第一条记录何时到达?