iPhone, float 纹理

标签 iphone opengl-es floating-point textures

我需要将 GL_RGBA32F 作为内部格式,但我在 OpenGL ES 实现中没有得到它。相反,我只得到 GL_FLOAT 作为纹理数据类型。 OES_texture_float 规范没有说明里面的内容。所以我不知道我的纹理数据是否会标准化为 [0, 1] 。基本上我需要存储在纹理未夹紧的纹理数据中,无论它是浮点值还是整数值。我如何在纹理中获取非标准化数据?

最佳答案

遗憾的是,OpenGL ES 对待 glTex(Sub)Image* 参数的方式与桌面 OpenGL 不同。

在桌面 OpenGL 中,定义纹理实际格式的是内部格式。在 GL ES 2.0 中,定义此值的是 formattype 值。因此,如果您上传 (GL_RGBA, GL_UNSIGNED_BYTE) 纹理,则相当于使用 GL_RGBA8 作为内部格式。

这意味着,如果您想要浮点纹理,则可以使用(GL_RGBA,GL_FLOAT)作为格式类型参数。这两个规范之间毫无意义的不一致。

关于iPhone, float 纹理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7313224/

相关文章:

python - json.loads在python中将小数点转换为 'e'

iphone - 如何在背景iphone sdk中播放音乐

iphone - 为 iPhone 应用程序创建华丽的介绍

android - 如何摆脱 Android OpenGL ES 中的锯齿状边缘?

c - 为什么这段简单的代码不起作用?

windows-phone-7 - 如何在WP7中添加一个可以接受浮点值的数字文本框?

iphone - iPhone 应用程序可以在启动时启动吗?

iphone - 使用来自iPhone的线程进行HTTP请求

ios - 状态栏隐藏问题,如果存在 QLPreview Controller

android opengl es 2.0 glm 投影不工作