无法在内部绘制多维数据集 - OpenGL

时间:2016-04-16 19:46:22

标签: opengl drawing

我创建了这个只有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();
}

1 个答案:

答案 0 :(得分:2)

glutDisplayFunc的目的不是实际绘制某些内容,而是在需要重绘窗口内容时告诉GLUT应该调用哪个函数。

如果你想画一些东西,你就画它;理想情况下,您可以从注册为显示功能的功能执行此操作,该功能将在响应窗口显示请求时被调用。