纹理缩小 Texture Minification
将纹理应用到图元意味着从纹理图像空间到帧缓冲图像空间的映射。一般来说,这种映射涉及对采样的纹理图像进行重构,然后通过映射到帧缓冲区空间所隐含的齐次变形,接着进行滤波,最后在应用到片段之前对经过滤波、变形、重构的图像进行重新采样。在OpenGL中,这种映射由两种简单的过滤方案之一来近似。其中一种方案是根据从纹理空间到帧缓冲空间的映射是否被认为放大或缩小纹理图像而选择的。
当纹理的 TEXTURE_MAX_ANISOTROPY
值等于 1.0 时,OpenGL 使用本节和第 8.15 节中描述的各向同性纹理过滤方法。然而,当纹理的 TEXTURE_MAX_ANISOTROPY
值大于 1.0 时,OpenGL 应该使用一个考虑到纹理各向异性的纹理过滤方案,该程度不超过纹理 TEXTURE_MAX_ANISOTROPY
的值或 MAX_TEXTURE_MAX_ANISOTROPY
的值中较小的一个。
各向异性纹理过滤方案的具体实现取决于实现。此外,实现可以考虑当前的纹理缩小和放大模式来控制所使用的各向异性过滤方案的具体细节。
各向异性纹理过滤方案只能访问当缩小滤波器需要使用纹理层级时的mipmap
级别。此外,当指定了一个缩小滤波器时,各向异性纹理过滤方案只能访问纹理的 TEXTURE_BASE_LEVEL
和 TEXTURE_MAX_LEVEL
之间的纹理 mipmap
级别,包括这两个级别。实现还应该在各向异性纹理过滤方案允许的范围内尊重 TEXTURE_MAX_LOD
和 TEXTURE_MIN_LOD
的值。