1
我想用opengl繪製一個6面的obelisk。多邊形不會在屏幕上顯示
下面是我用方尖碑的底表面進行建模的代碼:
void drawObelisk() {
glColor3f(1.0,1.0,0.0);
glBegin(GL_POLYGON);
for (x=0.0; x<2.0*pi/3; x=x+inc)
{
glVertex3f(0.3*cos(x),0.3*sin(x),0.0);
}
glEnd();
}
該代碼被用來渲染模型:
void myDisplay(void)
{
glEnable(GL_CULL_FACE);
glEnable(GL_DEPTH_TEST);
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
glPushMatrix();
drawObelisk();
glPopMatrix();
glFlush();
}
void SetupRC(void)
{
glClearColor(0.0, 0.0, 1.0, 1.0);
glOrtho(-6.0,6.0,-6.0,6.0,-6.0,6.0);
}
void main(void)
{
glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB);
glutInitWindowSize(640,480);
glutInitWindowPosition(10,15);
glutCreateWindow("Test");
glutDisplayFunc(myDisplay);
SetupRC();
glutIdleFunc(idle);
glutMainLoop();
}
因爲某種原因,該多邊形面,我一旦模型渲染,畫筆就不會顯示在屏幕上。
這段代碼沒有上下文就沒有出現。理想情況下,我們會看到您的整個渲染函數和OpenGL上下文設置。 – datenwolf 2012-07-28 09:39:21
已添加各自的代碼。謝謝... – rofans91 2012-07-28 09:43:36
提供的代碼是不夠的。什麼是drawArrow(),inc? – 2012-07-28 09:57:00