我有一个非常简单的 OpenGL (3.2) 设置,没有照明、透视投影和一个简单的着色器程序(应用投影变换并使用 texture2D 从纹理中读取颜色)。
相机向下看负 z 轴,我在 xy 平面上绘制了一些带有纹理的墙壁和柱子 ( http://i43.tinypic.com/2ryszlz.png )。
现在我在 xy 平面上移动相机,这就是它的样子:http: //i.imgur.com/VCrNcly.gif。
我现在的问题是:如何处理墙壁纹理的闪烁?
由于相机以墙壁为中心,因此纹理上的视角会压缩屏幕上的纹理,因此屏幕上的一个像素实际上是纹理上的几个像素,但只有一个被选择用于显示。根据我在着色器中可以访问的信息,我看不到如何执行插入所需颜色的操作。
由于这看起来几乎是每个 3D 应用程序都应该有的问题,因此解决方案可能非常简单(我希望?)。