在GLUT中使用鼠标滚轮
时间:2020-03-05 18:40:18 来源:igfitidea点击:
我想在OpenGL GLUT程序中使用鼠标滚轮来放大和缩小场景吗?我怎么做?
解决方案
回答
请注意,著名的Nate Robin的GLUT库不支持滚轮。但是,像FreeGLUT这样的GLUT更高版本的实现就可以了。
在FreeGLUT中使用滚轮非常简单。方法如下:
声明一个回调函数,只要滚动滚轮就应调用该回调函数。这是原型:
void mouseWheel(int, int, int, int);
使用(Free)GLUT函数glutMouseWheelFunc()注册回调。
glutMouseWheelFunc(mouseWheel);
定义回调函数。第二个参数给出滚动的方向。 +1的值是正向的,-1的值是反向的。
void mouseWheel(int button, int dir, int x, int y) { if (dir > 0) { // Zoom in } else { // Zoom out } return; }
而已!