Я пытаюсь реализовать HUD для своего 3D-приложения, что я достиг, поскольку у меня есть прямоугольник в определенном месте, с текстурой над ним. Проблема в том, что всякий раз, когда я поворачиваю или перемещаю камеру, текстуры масштабируются или перемещаются с камерой, выглядит очень странно. Любые идеи, почему это может произойти?Неверное текстурирование в 2D HUD
Это то, что я делаю, чтобы добавить HUD:
glDisable(GL_DEPTH_TEST);
glClear(GL_DEPTH_BUFFER_BIT);
glMatrixMode(GL_PROJECTION);
glPushMatrix();
glLoadIdentity();
gluOrtho2D(0, 1, 0, 1);
glMatrixMode(GL_MODELVIEW);
glPushMatrix();
glLoadIdentity();
glEnable (GL_TEXTURE_2D);
glBindTexture (GL_TEXTURE_2D,4);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST);
glTexEnvi(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_REPLACE);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST);
glBegin(GL_QUADS);
glColor3f(1.0f, 1.0f, 0.0f);
glTexCoord2f(0,0);
glVertex2f(0.0f, 0.0f);
glTexCoord2f(1,0);
glVertex2f(0.4f, 0.0f);
glTexCoord2f(1,1);
glVertex2f(0.4f, 0.4f);
glTexCoord2f(0,1);
glVertex2f(0.0f,0.4f);
glEnd();
glPopMatrix();
glMatrixMode(GL_PROJECTION);
glPopMatrix();
glEnable(GL_DEPTH_TEST);
glEnable(GL_LIGHTING);
Вы пытаетесь нарисовать HUD в 2D или 3D? Можете ли вы опубликовать снимок экрана о проблеме, которую вы описали? – Bojangles
Это должно быть 2d –
Вы рисуете его в ортографической проекции и используете значения пикселей? – Bojangles