OpenGL透视纹理闪烁

时间:2013-07-09 18:07:02

标签: opengl glsl shader textures

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

相机俯视负z轴,我在x-y平面上用纹理(http://i43.tinypic.com/2ryszlz.png)绘制了几个墙和柱子。

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

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

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

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

1 个答案:

答案 0 :(得分:1)

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