【发布时间】:2016-01-23 12:19:57
【问题描述】:
我编写了一些基于浮点纹理的 WebGL 代码。但是在更多设备上对其进行测试时,我发现对 OES_texture_float 扩展的支持并不像我想象的那么普遍。所以我正在寻找一个后备。
我目前有一个亮度浮点纹理,其值在 -1.0 和 1.0 之间。我想将此数据编码为 WebGL 中可用的纹理格式,无需任何扩展,因此可能是一个简单的 RGBA 无符号字节纹理。
我有点担心潜在的性能开销,因为需要这种回退的情况是较旧的智能手机或平板电脑,它们的 GPU 已经比现代台式电脑弱得多。
如何在不支持 WebGL 的设备上模拟浮点纹理?
【问题讨论】:
-
这是可行的,但是由于有限的 GLSL 1.00 标准对浮点文字进行了预处理,使其看起来像这些行不通,造成了很多混乱。仔细观察,找到了实现精确逐位转换的途径。