在opengl中渲染2D地图

时间:2013-03-28 09:12:08

标签: opengl

我用一些小筹码图片来制作地图。 当它是静态的时候,一切都好。但是当我使用glTranslated来移动它时。 它总是有一些小小的颤抖。

我用它来初始化

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时, 它可能有像素偏移?  怎么解决?

0 个答案:

没有答案