当前位置: 首页 > 面试题库 >

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

越伟泽
2023-03-14
问题内容

问题的上下文是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);


 类似资料:
  • 我正在尝试同时渲染背景和我的角色动画和我的角色工具。这件事看起来很琐碎,但我还是搞不懂。这里是我现在为我的呈现所提供的代码。 现在,当我运行以下代码时(将切换到底部): 这是结果 我就是找不到一个模式,总是一个凌驾于另一个之上。我会非常感激我的失落。谢谢!!

  • 我在Android开发者网站http://developer.Android.com/training/animation/screen-slide.html上学习这个教程 我的情况是...

  • 我如何通过我自己的API从另一个API获取PDF,然后到前面供用户下载。 我现在得到的只是一张空白页。 后面是Scala的,当我打印文件时,我得到一个字符串。

  • 问题内容: 这听起来并不像恶意的那样,我想获取当前窗口的大小,而不是查看它们的内容。目的是弄清楚如果其他所有窗口都全屏显示,那么我也应该像这样启动。或者,尽管分辨率很高,但所有其他进程的分辨率仅为800x600,那么这可能正是用户想要的。为什么要让他们浪费时间和精力来调整我的窗口的大小以匹配他们拥有的所有其他窗口?我主要是Windows devoloper,但如果有跨平台的方法可以做到,那么至少不

  • 经过前面几个小节,还剩下3行没提及的log 2015-03-30 10:49:49,667 org.nutz.mvc.impl.NutLoading.createViewMakers(NutLoading.java:344) DEBUG - @Views(DefaultViewMaker) 2015-03-30 10:49:49,675 org.nutz.mvc.impl.NutLoading.c

  • 我考虑了两种解决方法: 通过php exec使用GhostScript读取上传的文件并获取其尺寸-我还不能让这种方法起作用 使用PHP PDF库读取上传的文件并获取其尺寸(如fdpi/fpdf)-我有一些东西在工作(我想!) 至于Ghostscript,我在这里找到了这个答案,因此建议使用另一个名为(我确实是按照评论建议先下载的)。然而,我无法让它正常工作。在将其添加到任何PHP脚本之前,我尝试运