我正在使用包含以下代码行的OpenGL显示功能:
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
glMatrixMode(GL_MODELVIEW);
//Draw some stuff
glMatrixMode(GL_PROJECTION);
glPopMatrix();
glMatrixMode(GL_MODELVIEW);
glPopMatrix();
glutSwapBuffers();
但是,我在整个功能中多次应用此代码。我想要发生的是它绘制一些东西,回应用户的输入,绘制其他内容,再次响应用户的输入,最后绘制最后一件事。是否可以接受调用" glutSwapBuffers"多次在同一个功能?如果它不是一个大问题,有没有办法让它正确显示最终图纸?它绘制了我想要的前两张图片,但第三次屏幕保持白色。
答案 0 :(得分:0)
通常你做一个循环
检查循环开始时的输入,然后更新变量,然后根据这些变量绘制一次并重新启动循环。
如果没有输入,则不依赖于时间的变量将保持不变,并且您绘制的变量将保持不变。