2

我有一个大的 32 位整数纹理 ( R32I),我需要对其执行双线性过滤。我天真地以为我只需要在我的纹理上启用过滤,但似乎整个事情并不那么简单。OpenGL ES 3.0 规范在第129-131 页上有一个纹理格式列表,该R32I格式未标记为纹理可过滤。所有整数格式似乎都是不可过滤的,大于 16 位的浮点格式也是如此。我可以同时使用整数或浮点格式,但 16 位对我的数据来说根本不够精确。

现在我当然可以在着色器中手动执行过滤,但我想知道是否有 GPU 可以实际过滤这些格式,以及我如何检测 GPU 是否能够做到这一点?

在着色器中手动执行双线性过滤是否存在严重的性能缺陷?或者仅仅是方便,那么我就没有理由尝试让自动过滤为我的纹理工作。

4

1 回答 1

1

检查您的 GPU 是否支持此扩展,https://www.khronos.org/registry/gles/extensions/OES/OES_texture_float_linear.txt

它应该可以解决问题。我认为带有新 Adreno 420 的新 Motorola Nexus 6 应该支持它。

于 2015-02-20T16:53:27.240 回答