当前位置:  开发笔记 > 后端 > 正文

opengl glutmainloop()

如何解决《openglglutmainloop()》经验,为你挑选了1个好方法。

我刚刚开始使用OpenGL,似乎不容易理解glutMainLoop()那里真正发生的事情的工作?在任何函数调用响应之前,它是否一直无所事事?



1> StrixVaria..:

它会反复调用显示回调,在两者之间调用空闲,以便在可能的情况下保持特定的帧速率,以及其他必要时(例如,如果调整窗口大小或触发输入事件).

本质上,在这个函数中是主程序循环,其中GLUT为您完成大部分工作,并允许您在这些回调中简单地设置特定的程序逻辑.我和GLUT合作已经有一段时间了,起初它确实令人困惑.

在您的显示中,回调显然应该是您绘制应该进行的任何事情的主要逻辑.在空闲回调中应该是一些非常轻量级的操作,以确定从上次调用显示到下一次状态的状态变化.例如,如果您正在制作动画,则可以在此处更改其位置或方向.


glutMainLoop仅在glut事件触发显示回调时调用显示回调,例如调整窗口大小,取消窗口或调用glutPostRedisplay.您必须在程序中放置代码以触发过剩以适当的帧速率调用显示回调以在程序中生成动画.例如,您可以将对glutPostResdisplay的调用放入空闲回调函数中,因此当GLUT空闲时,将调用显示回调.
Glut让我终身伤痕累累
推荐阅读
可爱的天使keven_464
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有