![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
OpenGL 文摘
文章平均质量分 78
nauty_li
目前大二
展开
-
GLUT教程(九) GLUT鼠标
在前几节,我们看了怎么使用GLUT的keyboard函数,来增加一个OpenGL程序的交互性。现在,是时候研究下鼠标了。GLUT的鼠标接口提供一些列的选项来增加鼠标的交互性。也就是检测鼠标单击,和鼠标移动。 检测鼠标Clicks和键盘处理一样,GLUT为你的注册函数(也就是处理鼠标clicks事件的函数)提供了一个方法。函数glutMouseFunc,这个函数一般在程序初始化转载 2008-03-29 01:18:00 · 2135 阅读 · 0 评论 -
GLUT教程(八) GLUT场景漫游II
这一节里,我们再来看看上次的例子,这次我们讲使用高级的键盘控制。 在初始化那部分,我们有两个变量:deltaAngle和deltaMode。这些变量控制旋转和移动照相机。当为非0时,照相机执行一些动作,当为0时,照相机就不动,这两个变量的初始值是0,也就是说,照相机初始状态是不动的。 #include #include float angle=0.0,d转载 2008-03-29 01:12:00 · 1481 阅读 · 0 评论 -
GLUT教程(七) GLUT高级键盘控制
这节我们将去介绍4个新的处理键盘输入的函数。 第一个函数允许我们去禁止keyboard repeat。函数原型如下:int glutSetKeyRepeat(int repeatMode);参数:repeatMode:开启,禁用,或恢复auto repeat模式,下面是它可能的取值。RepeatMode的可能取值如下: GLUT_KEY_REPEAT_O转载 2008-03-29 01:04:00 · 1050 阅读 · 0 评论 -
GLUT教程(六) GLUT场景漫游
让我们看一个比较好的使用键盘控制的例子。这一章我们将建立一个应用程序。这个程序绘制了一个小的居住着雪人的世界。并且我们将用方向键来移动照相机(即移动视点在场景中漫游)。左右方向键,将照相机绕y轴旋转,上下方向键,将前后方向移动照相机。 这个例子的代码放在下面。首先我们处理初始状态。#include #include #include static转载 2008-03-29 01:02:00 · 1590 阅读 · 0 评论 -
GLUT教程(五) GLUT键盘控制
GLUT允许我们编写程序,在里面加入键盘输入控制,包括了普通键,和其他特殊键(如F1,UP)。在这一章里我们将学习如何去检测哪个键被按下,可以从GLUT里得到些什么信息,和如何处理键盘输入。 到现在,你应该注意到了,只要你想控制一个事件的处理,你就必须提前告诉GLUT,哪个函数将完成这个任务。到现在为止,我们已经使用GLUT告诉窗口系统,当窗口重绘时我们想调用哪个渲染函数,但系统空闲转载 2008-03-29 00:59:00 · 2007 阅读 · 0 评论 -
GLUT教程(四) GLUT动画
到现在为止,我们有了一个画着一个白色三角形的OpenGL窗口,但一点也不激动人心。现在让我们在这节教程里,让这个三角形自己旋转起来。 让我们回到main()函数,增加些额外的设置。首先告诉GLUT我们想要一个双缓冲区。双缓冲区通过在后一个缓冲区里绘画,并不停交换前后缓冲区(可见缓冲区),来产生平滑的动画。使用双缓冲区可以预防闪烁。………….glutInitDispla转载 2008-03-29 00:54:00 · 1608 阅读 · 1 评论 -
GLUT教程(三) GLUT窗口设置
下载下面的VC工程并运行它(glut0.zip)(这个就是上一节的工程)。你将看到两个窗口:一个控制台窗口,一个OpenGL窗口。现在改变窗口大小使高度与宽度不再相等,这时三角形发生变形。这会发生是因为你没有正确设置投影矩阵。默认的是透视投影矩阵且高宽比为1.因此高宽比改变了,投影就会变形。因此只要高宽比改变了,投影就应该重新计算。 GLUT定义了当窗口大小改变时哪一个函数应该被调用转载 2008-03-29 00:53:00 · 4729 阅读 · 0 评论 -
GLUT教程(二) GLUT初始化
在这个部分我们将在我们的程序里建立一个main函数,这个main函数将完成必须的初始化和开启事件处理循环。所有的GLUT函数都有glut前缀并且那些完成一些初始化的函数有glutInit前缀。你首先要做的是调用函数glutInit()。Void glutInit(int*argc,char**argv);参数:Argc:一个指针,指向从main()函数传递过来的没更改的argc转载 2008-03-29 00:49:00 · 1478 阅读 · 0 评论 -
GLUT教程 (一) 简介
首先要感谢xie_zi : http://blog.csdn.net/xie_zi 的翻译,翻译十章的量很大,而且因为关于glut国内还没有多少资料可看,就更显得这些文章的难得。我本人也在这十篇里学到了很多东西,在此非常感谢!另外,可能是时间上的原因,原网站上还有一些文章没有被翻译过来,有兴趣想学习的朋友可以到http://www.lighthouse3d.com/opengl/glut/去看一转载 2008-03-29 00:48:00 · 1774 阅读 · 1 评论 -
GLUT教程(十) GLUT菜单
弹出式菜单(像点鼠标右键出来的菜单那样的)也是GLUT的一部分,虽然它不能实现我们经常看到的windows系统弹出式菜单的所有的功能,但是它也有很大的作用。给一个程序增加菜单提供了一个比键盘更简单的方法来和程序交互,选择不同选项,而不用去记那些按键。 我们首先要做的是创建菜单,创建菜单函数glutCreateMenu的原型如下:int glutCreateMenu(voi转载 2008-03-29 01:19:00 · 2643 阅读 · 1 评论