【问题标题】:OpenGL which textures should I add MipMaps to and apply anisotrophic filtering [closed]OpenGL我应该将MipMaps添加到哪些纹理并应用各向异性过滤[关闭]
【发布时间】:2020-05-27 19:45:57
【问题描述】:

我想知道人们通常将 MipMap 和各向异性过滤应用于哪些类型的纹理,以及我们不应该将这些添加到哪些纹理。

例如,将 MipMaps 和过滤添加到漫反射纹理很有意义,但其他纹理(如镜面反射纹理、法线纹理、凹凸贴图等)呢?

到目前为止,这些是我使用的纹理类型

  • 漫反射纹理 - 具有 mipmap 和各向异性过滤
  • 镜面纹理 - 具有 mipmap 和各向异性过滤
  • 法线纹理 - 没有 mipmap 和各向异性过滤
  • 凹凸贴图(置换)纹理 - 没有 mipmap 和各向异性过滤

这有吗

【问题讨论】:

    标签: opengl 3d game-engine mipmaps


    【解决方案1】:

    我个人喜欢保持一致并对同一对象的所有纹理使用相同的过滤。

    我总是对 3D 对象使用 mipmapping。使用 mipmapping 没有性能损失,而且实际上比不使用它要快。

    各向异性是我自己没有测量过的,但我读过它有一些成本。当我注意到质量差异时,我会使用它。例如,它看起来更适合地形和墙壁。但是,它对较小的对象(例如角色、球体等)并没有太大的改进。

    无论如何,这取决于您想要实现的目标以及您的预算。如果您希望您的应用程序看起来很棒,只需对所有内容使用各向异性过滤即可。

    【讨论】:

    • 老实说,我现在担心的实际上甚至不是速度。如果我将 mipmaps 和过滤器引入到纹理中,这些纹理应该充当“数据”源,例如法线贴图,我更想知道我是否真的搞砸了一些视觉方面。
    • 啊,我明白了。对于法线贴图,插值会弄乱向量长度。所以你必须 normalize() 片段着色器中的法线。这不是法线贴图所特有的,即使法线的顶点插值也需要您重新规范化。无论如何,只是试试看 - 没有正确的答案,做任何看起来不错的事情。无论如何,整个实时图形世界都是一个技巧
    • @Saik:除非您还使用最近邻过滤,否则您已经在纹理内部进行了插值。 Mipmaps 不会让情况变得更糟。一般来说,法线贴图和位移(凹凸)贴图无论如何都是连续数据,插入它们应该不是问题。我知道的唯一不能线性插值的纹理是阴影贴图纹理(可能是延迟渲染的渲染缓冲区)
    猜你喜欢
    • 2012-09-23
    • 2017-08-27
    • 2012-04-16
    • 2016-09-17
    • 1970-01-01
    • 2020-11-04
    • 1970-01-01
    • 2015-12-25
    • 2020-03-02
    相关资源
    最近更新 更多