摘要:
以下是前面几节的完整整合代码: 阅读全文
posted @ 2013-10-25 17:18
Clotho_Lee
阅读(482)
评论(0)
推荐(0)
摘要:
本节的最后一个示例是回顾.现在我们会使用键盘的高级特性.
方法是测试当键盘按下时开始运动.因此我们打算用glutIgnoreKeyRepeat关闭重复按键的回调函数.
当一个键被按下,我们设置一个非零的变量值.一旦按钮松开,该变量会置零. 阅读全文
posted @ 2013-10-25 14:58
Clotho_Lee
阅读(552)
评论(0)
推荐(0)
摘要:
本节我们会介绍另外4个处理键盘事件的函数.这些函数手把手的把我们从处理自动重复输入按键的问题中释放.
第一个函数允许我们关闭键盘自动重复输入.原型如下: 阅读全文
posted @ 2013-10-25 14:19
Clotho_Lee
阅读(670)
评论(0)
推荐(0)
摘要:
下面来看一个更有趣的GLUT应用.本节我们会绘制一个雪人世界,并直接用按键移动镜头.向左和向右键会在XZ切面围绕Y轴旋转镜头.反之,向上和向下键会在当前方向向前向后移动镜头.
实现代码已经在适当地方标上注释.首先我们要一些全局变量来保存镜头参数.这些变量会保存了镜头位置和目标方向的向量.我们还需要保存角度.由于y是常量,所以不用保存. 阅读全文
posted @ 2013-10-24 18:11
Clotho_Lee
阅读(1046)
评论(0)
推荐(0)
摘要:
GLUT可以让应用程序自动监测键盘输入,包括普通按键和特殊按键,例如F1和向上键.本节我们来讨论怎样监测按键事件和如何响应.
目前为止你应该已经发现,需要GLUT处理对应的事件,必须先告知GLUT把事件绑定到指定函数.之前已经介绍了重绘事件,系统空闲事件和窗体更改大小事件.
同样的,下面来介绍键盘事件.我们要告知GLUT哪个函数是响应按键处理的. 阅读全文
posted @ 2013-10-24 12:34
Clotho_Lee
阅读(1672)
评论(0)
推荐(0)
摘要:
前面章节我们已经创建了一个白色三角形的窗体.还没到高潮,现在开始感受OpenGL动画的乐趣.我们会让三角形旋转.
首先我们要告知GLUT应用程序当处于空闲时,渲染函数要被调用.这样可促使GLUT保持调用渲染函数来启用动画效果.GLUT提供一个函数glutIdleFunc来让你注册一个回调函数用于绑定应用程序空闲时事件. 阅读全文
posted @ 2013-10-23 15:43
Clotho_Lee
阅读(719)
评论(0)
推荐(0)
摘要:
上一章的例子创建了两个窗体,命令行窗体和OpenGL窗体.当改变窗体大小的时候,高宽比例改变,三角形就会扭曲.得到这样的效果的原因是我们没设置正确的视觉.视觉默认是声明宽高比为1并依此来绘图.所以当比例改变的时候,视觉会发生扭曲.因此,每次比例改变的时候视觉必须要重新计算.
GLUT提供了一个回调接口给窗体大小改变事件.此外,该函数在窗体初始化创建的时候也会被调用,所以即便你初始化的窗体不是正方形看上去也不会有问题.原型如下: 阅读全文
posted @ 2013-10-21 18:12
Clotho_Lee
阅读(1094)
评论(0)
推荐(0)
摘要:
这一节开始从main函数入手.第一步是线初始化GLUT库和创建窗体.
GLUT进入事件处理循环之后会获得程序的控制权.GLUT会等待事件(event)发生,然后检查有没有绑定的函数来处理它.
所以在GLUT进入它的事件处理循环之前,我们要先告诉GLUT事件发生时需要调用哪个函数来处理. 阅读全文
posted @ 2013-10-14 18:26
Clotho_Lee
阅读(1049)
评论(0)
推荐(0)
摘要:
你需要什么
要用GLUT库开发程序,你可以下载最新版本3.7.6.你可以下GLUT的源代码,也可以直接下Windows二进制文件(.h/.lib/.dll)
要用GLUT库开发C/C++程序,要用到以下三个文件:
glut.h - 这是你的程序要用到的包含头文件.一般放到C:\Program Files\Microsoft Visual Studio 11.0\VC\include\gl\目录下. 阅读全文
posted @ 2013-10-14 17:48
Clotho_Lee
阅读(2138)
评论(0)
推荐(0)
浙公网安备 33010602011771号