Я пытаюсь нарисовать квадрат комнату в OPENGL, и у меня есть это:C++ OpenGL рисовать комнату
void drawWalls()
{
glColor3f(1,0,0);
glPushMatrix();
//glRotatef(0,0,0,1);
//glScalef(2,1,2);
glBegin(GL_QUADS);
/* Floor */
glVertex3f(-1,-1,-1);
glVertex3f(1,-1,-1);
glVertex3f(1,-1,1);
glVertex3f(-1,-1,1);
/* Ceiling */
glVertex3f(-1,1,-1);
glVertex3f(1,1,-1);
glVertex3f(1,1,1);
glVertex3f(-1,1,1);
/* Walls */
glVertex3f(-1,-1,1);
glVertex3f(1,-1,1);
glVertex3f(1,1,1);
glVertex3f(-1,1,1);
glVertex3f(-1,-1,-1);
glVertex3f(1,-1,-1);
glVertex3f(1,1,-1);
glVertex3f(-1,1,-1);
glVertex3f(1,1,1);
glVertex3f(1,-1,1);
glVertex3f(1,-1,-1);
glVertex3f(1,1,-1);
glVertex3f(-1,1,1);
glVertex3f(-1,-1,1);
glVertex3f(-1,-1,-1);
glVertex3f(-1,1,-1);
glEnd();
glPopMatrix();
}
По каким-то причинам это не рисование всех моих сторон! Я просмотрел мой вектор, и это, кажется, правильно ... Но когда вы смотрите внутрь, вы увидите следующее:
Что я делаю неправильно? Или, если возможно, есть ли лучший способ сделать комнату вместо этого? Спасибо
положить свои фигуры в комментарии (/ * glvertex3d ... * /). Нарисуйте 2 фигуры, если это нормально, нарисуйте 3, если ok продолжит разложение. Когда вы найдете плохую цифру glvertex3d в четыре раза, прокомментируйте остальные и посмотрите, что она делает. Если это не так, вам нужно установить znear вашей камеры ниже, но, похоже, это не так. –
Другие возможности включают проблемы с порядком намотки, отбраковкой или буферами глубины. – user1118321