D3D9的Pixel和Texel(续)
December 13th, 2010
No comments
前一篇只说了屏幕坐标和纹理坐标一一对应,也就是说没有缩放的情况。实际上有时候会需要把图素进行缩放后渲染,举个例子,把3×3像素的纹理(注意,不是整张纹理3×3,而是取一张纹理上3×3大小的一部分)渲染成屏幕上的4×4像素大小,如下图。和以前一样,红色的线框代表纹理像素的边界,灰色线框代表屏幕像素的边界,由于纹理被放大了,所以只有在图素边界处二者才是重合的。
这里有个不容易觉察到的问题,估计已经让很多程序员抓狂过,也就是放大后的图素的边界像素上会多出一些来历不明的颜色,放大倍数越大就越明显。实际上,这是采样到边界以外的纹理像素了。