Jac*_* Le 2 3d graphics textures texture-mapping
也许我对如何实现纹理映射的理解是错误的。我最近完全用 Java 构建了一个 3D 引擎(我知道我手头有很多时间)并且我完成了纹理映射部分。我这样做的方式是,当我将像素绘制到屏幕上时,我会在该位置查找纹理的颜色。我知道纹理过滤有助于减少以更倾斜角度观看的远距离纹理的模糊度。但为什么这个问题首先会出现呢?它没有在我的实现中。为什么在缩小图像时会降低分辨率?
这是我的引擎的图像。

两个字:奈奎斯特定理。
您的纹理是一个信号,屏幕像素是采样位置(因此术语采样器用于对纹理进行采样以屏幕像素)。奈奎斯特定理说,要忠实地用样本表示信号,信号不能包含高于平均采样频率一半的频率。如果不满足该约束,则会发生混叠。因此,当您缩小纹理时,您本质上是对其进行二次采样,如果纹理信号中的采样距离变得大于(即采样频率更低),那么这将导致混叠(即采样频率低于最高分辨率纹理特征之间距离的两倍)。
因此,在每个离散采样系统中,采样器之前都有一个所谓的“抗混叠滤波器”。