1

在 iOS 应用程序中,我想在对象上放置纹理,渲染场景,读取它,然后读取该对象的“颜色”以识别它。

这很好用,我为此使用了 RGB 纹理。用于创建纹理的数据是:1、0、0、2、0、0、3、0、0。

这需要相当大量的 RAM,浪费了 66%。我想使用只有一个通道的纹理。

阅读 glTexImage2D 的 OpenGL 规范,在我看来,使用 GL_RED 格式是可行的方法,但它似乎在 iOS 中不可用。

任何人都可以确认或告诉我如何在 iOS 中仅使用一个通道创建纹理吗?

感谢您的任何提示,托斯滕。

4

1 回答 1

4

大多数最新的 iOS 设备 (> iOS 5.0) 应该支持,它允许使用和纹理格式枚举EXT_texture_rg创建单通道和双通道渲染缓冲区(和纹理) 。但是,您应该通过调用并检查 ) 的返回值来查询扩展是否存在。GL_RED_EXTGL_RG_EXTglGetString(GL_EXTENSIONS)GL_EXT_texture_rg

于 2012-11-19T02:55:00.243 回答