我開始使用OpenGL一個簡單的GUI應用程序的工作。繪製一個簡單的背景四邊形會造成很多困難,我不能發現我在做什麼錯誤或什麼是'破碎'。這裏是一個負責制定我的背景「四」的部分代碼:OpenGL的C++ - 不需要的黑色三角形出現
static void Draw(void)
{
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
glColor3f(0.5f, 0.5f, 0.5f);
glBegin(GL_QUADS);
glVertex2f(-1.0f, -1.0f);
glVertex2f(1.0f, -1.0f);
glVertex2f(-1.0f, 1.0f);
glVertex2f(1.0f, 1.0f);
glEnd();
glutSwapBuffers();
}
int main(int argc, char **argv)
{
glutInit(&argc, argv);
glutInitDisplayMode(GLUT_DOUBLE | GLUT_RGB | GLUT_DEPTH);
glutInitWindowSize(600, 600);
glutCreateWindow("Pro Sound");
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
glutDisplayFunc(Draw);
glutKeyboardFunc(keyPressed);
glutKeyboardUpFunc(keyUp);
glutMainLoop();
}
輸出看起來像一個灰色的四,但在它(右側)上有個黑色的三角形頂點上中心,右上角和右下角。所以我的背景看起來像被一個三角形牙像素怪物咬傷。問題是,它最近的工作正常,我甚至可以添加一些紋理,它定位好等
既簡單又富有啓發性。非常感謝我的救世主。禮炮! – Bizarre 2014-09-26 17:25:57
他使用'GL_QUADS'所以會畫一個四,而不是兩個三角形。 – 2014-09-26 22:27:36
所有現代GPU只消耗三角形,所以它被驅動程序分成兩個三角形。如果GPU在四邊形上工作,那麼他不會看到他所看到的神器。 – ssell 2014-09-26 23:02:24