我使用 OpenGL 和 c++ 开发了一款游戏,一切正常,但我需要修复这个故障:当我移动相机(使用鼠标)时,我的地图不会保持在固定位置。它基本上是我在我面前画的一个正方形(gl_quad)。
这是一个故障示例:
这是正方形的绘制代码,如果需要的话
texture = scene->getTexture("map_papyrus.png");
glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
glEnable(GL_BLEND);
glUseProgram(this->shader->getRes());
glActiveTexture(GL_TEXTURE0);
GLint texture_location = glGetUniformLocation(this->shader- >getFragment(), "color_texture");
glUniform1i(texture_location, texture_location);
glBindTexture(GL_TEXTURE_2D, this->texture->getRes());
glBegin(GL_QUADS);
float size = .5f;
float offsetx = 0.0f;
float offsety = 0.0f;
if (set->easymode) { size = .2f; offsetx = 0.8f; offsety = 0.35f; }
glTexCoord2f(0,0); glVertex2f(-size + offsetx, -size + offsety);
glTexCoord2f(1, 0); glVertex2f(size + offsetx, -size +offsety);
glTexCoord2f(1,1); glVertex2f(size + offsetx, size + offsety);
glTexCoord2f(0, 1); glVertex2f(-size + offsetx, size + offsety);
glEnd();
glTranslated(0, 0, 0.00001);