OpenGL ES 2.0中的浮点纹理

11

我一直在尝试在GLES2中使用浮点纹理。 API参考中说只能使用无符号字节和短整型,但我看到其他人说它在别处得到支持。

我可以使用GL_LUMINANCE作为纹理格式,但这只会得到一个浮点值。

1个回答

12
在OpenGL ES 2.0中,只有实现了OES_texture_float扩展名的设备才支持浮点数纹理。请注意,此扩展名仅允许在纹理级别内进行最近过滤,并且不允许在纹理级别之间进行过滤。 OES_texture_float_linear的存在放宽了这个限制。另一个潜在的注意事项是,OES_texture_float的存在并不要求该实现支持使用帧缓冲对象渲染到浮点纹理。
你需要使用浮点纹理做什么?

我正在存储一些位置信息。因此,会有一个片段着色器进行一些计算(粒子运动),并渲染到一个帧缓冲区中,该帧缓冲区被馈送到另一个着色器(渲染)。问题是,我需要浮点精度。 - notlion
在我的实现中(针对iOS编码),键是“GL_OES_texture_float”和“GL_OES_texture_half_float_linear”。 - Vern Jensen

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接