我创建了这个只有3个面的立方体,我想在其中画一个字母,但如果我尝试用“glutDisplayFunc(drawA);”调用该函数,它会显示一个空白窗口,如果我想要的话要调用函数drawA();,它不会显示字母,但会显示多维数据集......
int main(int argc,char** argv)
{
glutInit(&argc,argv);
glutInitDisplayMode(GLUT_DOUBLE|GLUT_RGBA|GLUT_DEPTH);
glutInitWindowSize(640,480);
glutInitWindowPosition(100,100);
glutCreateWindow("Tema2");
glutDisplayFunc(Display);
//glutDisplayFunc(drawA);
//drawA();
glutReshapeFunc(Reshape);
glutMouseFunc(Mouse);
glutMotionFunc(Motion);
Init();
glutMainLoop();
return 0;
}
void drawA() {
glBegin(GL_LINES);
glColor3f(0.0, 1.0, 0.0); //green
glVertex3f(-0.2, -0.5, 0.0);
glVertex3f(0.0, 0.4, -0.5);
glVertex3f(0.2, -0.5, 0.0);
glVertex3f(0.0, 0.4, -0.5);
glEnd();
}
答案 0 :(得分:2)
glutDisplayFunc
的目的不是实际绘制某些内容,而是在需要重绘窗口内容时告诉GLUT应该调用哪个函数。
如果你想画一些东西,你就画它;理想情况下,您可以从注册为显示功能的功能执行此操作,该功能将在响应窗口显示请求时被调用。