【发布时间】:2015-09-15 05:52:18
【问题描述】:
我想编写一个具有两个缓冲区的程序,并且在控制台中显示每秒 30 帧的帧速率。我正在使用 Open GL - C++
Display()
{
glutSwapBuffers();
}
fps 计时器:
void mytimer(int fps)
{
glutTimerFunc(1000/30 , mytimer, 0);
glutPostRedisplay();
}
这段代码画了一条线,但我想以 30 fps 的帧速率画一条线。
void drawScene (void){
glClear(GL_COLOR_BUFFER_BIT);
glBegin(GL_LINES);
glVertex2f(0.0,0.0);
glVertex2f(120.0,120.0);
glEnd();
glFlush();
}
int main (int argc ,char** argv){
glutInit(&argc,argv);
glutInitDisplayMode(GLUT_RGB);
glutInitWindowSize(360,360);
glutCreateWindow("mohammad");
initRendering();
mytimer(fps);
//glutDisplayFunc(drawScene);
glutDisplayFunc(Display);
glutMainLoop();
return (0);
}
【问题讨论】:
-
只需...在
Display()的顶部致电drawScene()。
标签: c++ opengl glut doublebuffered