3
我想在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個,如果可以繼續分解。當你發現不好的glvertex3d四重奏時,請評論其他人並看看它確實做了什麼。如果不是這樣,則必須將相機的焦距設置得更低,但似乎並非如此。 –
其他可能性包括纏繞順序,剔除或深度緩衝區問題。 – user1118321