opengl中的二维地图渲染
我用一些小芯片画了一张地图。 当它静止时,一切正常。但当我使用GLP移动它时。 它总是有点发抖 我用这个来初始化opengl中的二维地图渲染,opengl,Opengl,我用一些小芯片画了一张地图。 当它静止时,一切正常。但当我使用GLP移动它时。 它总是有点发抖 我用这个来初始化 glEnable(GL_FLAT); glEnable(GL_DEPTH_TEST); glEnable(GL_TEXTURE_2D); glEnable(GL_ALPHA_TEST); glAlphaFunc(GL_GREATER , 0.5); 我在显示功能中使用这个 glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); g
glEnable(GL_FLAT);
glEnable(GL_DEPTH_TEST);
glEnable(GL_TEXTURE_2D);
glEnable(GL_ALPHA_TEST);
glAlphaFunc(GL_GREATER , 0.5);
我在显示功能中使用这个
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
glPushMatrix();
glTranslated(-_viewpos.x, _viewpos.y, 0);
if(_displayFunc)
{
_displayFunc(this, time0);
}
glPopMatrix();
这是用来渲染图片的
glEnable(GL_TEXTURE_2D);
glBindTexture(GL_TEXTURE_2D, _texture);
glBegin(GL_QUADS);
glTexCoord2d(0.0, 0.0);glVertex2d(p1.x, p1.y);
glTexCoord2d(0.0, 1.0);glVertex2d(p2.x, p2.y);
glTexCoord2d(1.0, 1.0);glVertex2d(p3.x, p3.y);
glTexCoord2d(1.0, 0.0);glVertex2d(p4.x, p4.y);
glDisable(GL_TEXTURE_2D);
glEnd();
我想问题可能是当我把坐标从int改为double时,
它可能有像素偏移?
如何解决这个问题?能否请您提供投影矩阵代码,以及颤抖的屏幕截图?可能是GLTEX参数GL_NEAREST/GL_线性问题(取决于“小抖动”的确切含义),或者是浮点精度问题。我想我经常只是截短在引擎盖下漂浮。