Ich entwickelte ein Spiel mit OpenGL und C++, alles funktioniert gut, aber diese Panne, die ich beheben muss: Wenn ich meine Kamera bewegen (mit der Maus) bleibt meine Karte nicht an einem festen Ort. Es ist im Grunde ein Quadrat (gl_quad), das ich vor mir zeichne. OpenGL Fixed Spot Map Glitch
Dies ist ein Beispiel für den Glitch:
Dies ist der Zeichencode eines Quadrats, wenn es
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);
Wie bewegen Sie die Kamera herum? Wie sieht dein Shader aus? – BDL
Ich vermute, dass die Karte nach dem Rendern verschoben wird. Deshalb bleibt es so. –