OpenGL和GLSL中的GLTEX参数和过滤?

OpenGL和GLSL中的GLTEX参数和过滤?,opengl,textures,glsl,Opengl,Textures,Glsl,我有几个关于GLTEX参数和过滤的问题 1) 应用GLTEX参数(特别是过滤)时的范围是什么?下面是一个场景: 绑定纹理。将过滤器设置为线性 将材质球的纹理设置为“Sampler1” 绑定另一个纹理。将其过滤器设置为“最近” 将该纹理设置为着色器的“Sampler2” 画 当我在着色器中使用纹理时,一个是线性的,另一个是最近的吗?或者他们都是最近的,因为这是最后一次 2) 是否可以在GLSL中设置过滤方法?1)过滤模式是纹理对象的一个参数,即过滤模式仅适用于设置过滤模式时已激活的纹理对象 2

我有几个关于GLTEX参数和过滤的问题

1) 应用GLTEX参数(特别是过滤)时的范围是什么?下面是一个场景:

  • 绑定纹理。将过滤器设置为线性
  • 将材质球的纹理设置为“Sampler1”
  • 绑定另一个纹理。将其过滤器设置为“最近”
  • 将该纹理设置为着色器的“Sampler2”
当我在着色器中使用纹理时,一个是线性的,另一个是最近的吗?或者他们都是最近的,因为这是最后一次

2) 是否可以在GLSL中设置过滤方法?

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


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

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

首先,将纹理设置为“线性”。如果需要最接近的,只需将uv位置钳制到像素网格的中心即可。基于线性插值的行为,我希望结果会像最近的一样