【问题标题】:Texture filtering of 32bit integer or float textures on OpenGL ES 3.0OpenGL ES 3.0 上 32 位整数或浮点纹理的纹理过滤
【发布时间】:2015-02-21 00:53:27
【问题描述】:

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

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

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

【问题讨论】:

    标签: opengl-es opengl-es-3.0


    【解决方案1】:

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

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

    【讨论】:

    • 很好,我还没有测试过,但这看起来和我要找的完全一样。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-05-19
    • 1970-01-01
    • 2023-03-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多