0

有人可以告诉我是否可以在 iPad2 上使用全精度浮点 2DTextures?(全精度 = 单精度)

通过使用在 iPad2 上打印出实现的 OpenGL 扩展

glGetString(GL_EXTENSIONS)

我发现OES_texture_half_floatOES_texture_float都受支持。

但是,使用GL_HALF_FLOAT_OES作为纹理类型可以正常工作,

glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, w, h, 0, GL_RGBA, GL_HALF_FLOAT_OES, NULL);

而使用GL_FLOAT会导致帧缓冲区对象不完整。

glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, w, h, 0, GL_RGBA, GL_FLOAT, NULL);

我在这里做错了什么还是不支持全精度浮点纹理?

提前谢谢你。

4

1 回答 1

1

OES_texture_float扩展提供 32 位浮点纹理用作输入,但这并不意味着您可以渲染到它们中。这EXT_color_buffer_half_float增加了 iOS 设备(我相信 A5 GPU 和更高版本)渲染为 16 位半浮点纹理的功能,但不是 32 位全浮点纹理。

我不相信任何当前的 iOS 设备都允许渲染成完整的 32 位浮点纹理,只是在渲染场景时将它们用作输入。

于 2013-01-15T17:19:50.880 回答