考虑下面这本 OpenGL ES for iOS Book 的引用:
OpenGL ES 支持几种不同的采样模式: 考虑当为三角形生成的片段少于绑定纹理中可用的纹素数量时会发生什么。每当具有大量纹素的纹理映射到仅覆盖帧缓冲区中几个像素的三角形时,就会发生这种情况。相反的情况也可能发生。包含少量纹素的纹理可能会映射到在帧缓冲区中产生许多片段的三角形。
而这句话:
用值 GL_LINEAR 指定参数 GL_TEXTURE_MIN_FILTER [glTexParameteri] 告诉 OpenGLES 每当有多个纹素对应于一个片段时,从几个合适的纹素中采样颜色并使用线性插值混合颜色以产生纹理对片段的贡献。生成的片段颜色可能最终成为纹理中不存在的颜色。例如,如果纹理由交替的黑色和白色纹素组成,线性采样将混合纹素颜色,并且片段最终将变为灰色。
我的问题是如何确定图像中有多少纹素以及这些纹素有多大。如果我没记错 1 texel != 1 像素,那么您无法通过计算像素来确定 texel 的数量。例如,第二个引用描述了具有交替黑白纹素的图像。你怎么知道你的图像是否由黑白纹素组成......谁定义了纹素大小?谁说一个纹素中没有黑色和白色。考虑到纹素没有设定的大小、边界等,我怎么可能确定给定图像中的一个纹素是什么样的?