-1

我有一个非常简单的 OpenGL (3.2) 设置,没有照明、透视投影和一个简单的着色器程序(应用投影变换并使用 texture2D 从纹理中读取颜色)。

相机向下看负 z 轴,我在 xy 平面上绘制了一些带有纹理的墙壁和柱子 ( http://i43.tinypic.com/2ryszlz.png )。

现在我在 xy 平面上移动相机,这就是它的样子:http: //i.imgur.com/VCrNcly.gif

我现在的问题是:如何处理墙壁纹理的闪烁?

由于相机以墙壁为中心,因此纹理上的视角会压缩屏幕上的纹理,因此屏幕上的一个像素实际上是纹理上的几个像素,但只有一个被选择用于显示。根据我在着色器中可以访问的信息,我看不到如何执行插入所需颜色的操作。

由于这看起来几乎是每个 3D 应用程序都应该有的问题,因此解决方案可能非常简单(我希望?)。

4

1 回答 1

1

我似乎无法理解这些图像,但从您所描述的内容来看,您似乎正在寻找 MIPMAPPING。请谷歌它,这是一个非常简单且非常普遍使用的概念。您可以通过在程序中添加一两行来使用它。祝你好运。我会更详细,但我今天没时间了。

于 2013-07-09T19:24:54.230 回答