考虑从这个的OpenGL ES为iOS簿下面引用确定像素纹理数:在片段
的OpenGL ES支持几种不同的采样模式:考虑当较少的片段为一个三角形比纹理像素的数目产生会发生什么在绑定的纹理中可用。只要具有大量纹理元素的纹理映射到只覆盖帧缓冲区中几个像素的三角形,就会发生这种情况。相反的情况也可能发生。包含少量纹理元素的纹理可能映射到在帧缓冲区中产生许多片段的三角形。
而这个报价:
指定参数GL_TEXTURE_MIN_FILTER [glTexParameteri]与值GL_LINEAR告诉OpenGLES,每当有多个纹理像素对应于一个片段,样品的颜色从几个合适的纹理像素的和使用线性插值混合颜色以产生纹理对片段的贡献。产生的片段颜色可能最终成为纹理中不存在的颜色。例如,如果纹理由交替的黑色和白色纹理元素组成,则线性采样将混合纹理元素颜色,并且片段最终变为灰色。
我的问题是如何确定图像中有多少个纹理元素以及这些纹理元素有多大。如果我没有错误1 texel!= 1像素,那么您无法通过计算像素来确定像素的数量。例如,第二个引用描述了具有交替黑白纹理像素的图像。你怎么知道你的图像是由黑白纹理元素组成的......谁定义了纹理元素的大小?谁说一个texel没有黑色和白色。考虑到纹理像素没有设置大小,边界等,我怎样才能确定给定图像中的一个纹理像素是什么样子的。
我的意思是黑+白纹理图像是这样的:如果1纹素!= 1像素和纹素没有定义边界,谁知道一个纹素结束而另一个开始?以你描述的2X2图像为例,我知道会有2个黑色像素和2个白色像素..所以有多少个像素?如果一个texel!=一个像素,我将如何确定纹素的数量?可能有两个纹理元素,每个纹理元素包含相同的颜色,或者可能有4个元素包含它们自己的像素。 - 真的任何组合我是完全错误的像素如何对应像素谢谢:) – foobar5512
此外,texels必须由相同的彩色像素组成,例如一个纹理像素可以包含1个白色像素和1个黑色像素? – foobar5512
您可以说要绘制的纹理元素的数量与片段数(或输出像素数)相同。帧缓冲区的片段将从纹理中调用纹理元素,所以您不能谈论只有纹理或只有缓冲区的纹理元素,您需要关联它们。纹理也不能开始和结束,它们可以重叠,甚至可以相同:绘制到2x2缓冲区的1像素纹理将调用4个纹素,它们将全部相同。而且一个纹理元素可以由多种颜色组成,因此黑色和白色纹理就是灰色。 –