0
想象一下,您有一个棋盘纹理三角形显示在你面前。快速2D纹理线样本
然后想象您移动相机,以便您可以从一侧看到三角形,当它看起来像一条线时。
您将可以看到该线条为灰色,因为这是从相机到三角形末端的直线中显示的纹素的平均颜色。 GPU一直这样做。
现在,这是如何实现的?我是否应该用直线对每个纹素进行取样,并将结果平均以得到相同的输出?还是有另一种更有效的方法来做到这一点?也许使用mipmap?
想象一下,您有一个棋盘纹理三角形显示在你面前。快速2D纹理线样本
然后想象您移动相机,以便您可以从一侧看到三角形,当它看起来像一条线时。
您将可以看到该线条为灰色,因为这是从相机到三角形末端的直线中显示的纹素的平均颜色。 GPU一直这样做。
现在,这是如何实现的?我是否应该用直线对每个纹素进行取样,并将结果平均以得到相同的输出?还是有另一种更有效的方法来做到这一点?也许使用mipmap?
从侧面,前面或后面看物体并不重要;实施仍然完全相同。
具体实施取决于所需的结果。典型的图形API(如Direct3D)具有许多不同的纹理采样技术,它们都具有不同的属性。请看documentation了解一些常见的取样技术和解释。
如果您从斜角开始查看物体,则三角形上的纹理可能会看起来与大多数采样技术失真,并且Anisotropic Filtering通常用于这些场景中。