【问题标题】:glTexParameter and filtering in OpenGL and GLSL?OpenGL和GLSL中的glTexParameter和过滤?
【发布时间】:2011-01-12 05:25:30
【问题描述】:

我有几个关于 glTexParameter 和过滤的问题

1) 应用 glTexParameter(特别是过滤)时的范围是什么?这是一个场景:

  • 绑定纹理。将过滤器设置为线性
  • 将纹理设置为着色器的“Sampler1”
  • 绑定另一个纹理。将其过滤器设置为 NEAREST
  • 将该纹理设置为着色器的“Sampler2”
  • 画

当我在着色器中使用纹理时,一个是线性的,另一个是最近的吗?还是它们都最近,因为它是最后调用的?

2) 可以在GLSL中设置过滤方式吗?

【问题讨论】:

    标签: opengl textures glsl


    【解决方案1】:

    1) 过滤模式是纹理对象的一个​​参数,即过滤模式只适用于设置过滤模式时已经激活的纹理对象。

    2) 过滤模式是采样器的一个参数,在整个着色器执行期间必须保持不变。因此,它不能从着色器中更改。但是,可以在不应用任何过滤的情况下处理单个纹理级别和样本,这可用于实现自定义过滤方法(尽管这些方法的性能会低得多)。

    【讨论】:

      【解决方案2】:

      同样的事情也困扰着我,但是当我看到你的帖子时,我想出了一个解决方案,即在同一个着色器中同时使用最接近和线性。

      首先,将纹理设置为线性。当您需要最近的时,您只需将 uv 位置夹在像素网格的中心即可。我希望,根据线性插值的行为,结果将是最接近的。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-02-05
        • 1970-01-01
        • 1970-01-01
        • 2018-05-16
        相关资源
        最近更新 更多