[译]GLUT教程(目录)
http://www.lighthouse3d.com/tutorials/glut-tutorial/
GLUT是OpenGL Utility Toolkit的意思.作者Mark J. Kilgard把它设计成跨平台的库.所以不用管x-window或者微软的windows系统.Kilgard先实现了x-window版本,然后Nate Robins移植到微软的windows系统下.感谢他们俩.
利用GLUT你可以5行代码实现一个OpenGL窗体,再用3-4行代码实现你的鼠标键盘事件. GLUT令代码变得简单,因此学一下有用.虽然GLUT已经不再维护了,但它目前已经足够用了.
GLUT除了提供发行包之外,还提供了很多例子.你可以到官网GLUTs page看.
本教程会引导你用GLUT构建基础程序.本教程不会用到复杂的特效.我会用OpenGL2.0,因为它够简单,避免了一些复杂的课题.
另外还有开源的GLUT版本,像freeGLUT和OpenGLUT.他们的API和GLUT99.9%相同,所以你用这两个的话,本教程也适用.
PS: 各个版本的最后更新日期如下:
GLUT for X-Window: 1998.8
GLUT for MS Windows: 2001.11
OpenGLUT: 2005.3
FreeGLUT: 2013.4 (目前仍在持续更新中..)
如果你觉得有地方没说清楚,你可以留言,期待你的反馈.
目录
基础
输入 (预备知识: http://www.cs.princeton.edu/courses/archive/fall99/cs426/lectures/view/sld001.htm)
弹出菜单
字体
额外功能
子窗体
避开空闲函数
附英文版目录
Index
Basics
Input
- Keyboard
- Moving the Camera I
- Advanced Keyboard
- Moving the Camera II
- The Code So Far
- Mouse
- Moving the Camera III
- The Code So Far II
Pop-up Menus
Fonts
Extras
Subwindows
Avoiding the Idle Func
[译]GLUT教程(目录)的更多相关文章
- [译]GLUT教程 - 安装
Lighthouse3d.com >> GLUT Tutorial >> Basics >> Setup 你需要什么 要用GLUT库开发程序,你可以下载最新版本3. ...
- [译]GLUT教程 - 游戏模式
Lighthouse3d.com >> GLUT Tutorial >> Extras >> Game Mode 根据GLUT官网的说明,GLUT的游戏模式是为开启 ...
- [译]GLUT教程 - glutPostRedisplay函数
Lighthouse3d.com >> GLUT Tutorial >> Avoiding the Idle Func >> glutPostRedisplay 直 ...
- [译]GLUT教程 - 整合代码8
Lighthouse3d.com >> GLUT Tutorial >> Avoiding the Idle Func >> The Code So Far VII ...
- [译]GLUT教程 - 整合代码7
Lighthouse3d.com >> GLUT Tutorial >> Extras >> The Code So Far VII 以下是子窗体的最终版本代码. ...
- [译]GLUT教程 - 渲染到子窗体
Lighthouse3d.com >> GLUT Tutorial >> Subwindows >> Rendering to Subwindows 先回顾一下之前 ...
- [译]GLUT教程 - 重整子窗体
Lighthouse3d.com >> GLUT Tutorial >> Subwindows >> Reshape Subwindows 重整函数的回调需要处理两 ...
- [译]GLUT教程 - 创建和关闭子窗体
Lighthouse3d.com >> GLUT Tutorial >> Subwindows >> Creating and Destroying Subwind ...
- [译]GLUT教程 - 整合代码6
Lighthouse3d.com >> GLUT Tutorial >> Extras >> The Code So Far VI 下面代码以窗体模式启动.你可以在 ...
随机推荐
- String format -1 常规格式化
常规类型的格式化 String类的format()方法用于创建格式化的字符串以及连接多个字符串对象.熟悉C语言的读者应该记得C语言的sprintf()方法,两者有类似之处.format()方法有两种重 ...
- What makes grep consider a file to be binary?
grep -a worked for me: $ grep --help [...] -a, --text equivalent to --binary-files=text
- spring线程并发处理(ThreadLocal)
我们知道Spring通过各种DAO模板类降低了开发者使用各种数据持久技术的难度.这些模板类都是线程安全的,也就是说,多个DAO可以复用同一个模板实例而不会发生冲突. 我们使用模板类访问底层数据,根据持 ...
- 使用create-react-app命令创建一个项目, 运行npm run eject报错
解决方法: 先 git add . 然后 git commit -m ‘init’ 然后再npm run eject
- 六. 异常处理4.try和catch的使用
尽管由Java运行时系统提供的默认异常处理程序对于调试是很有用的,但通常你希望自己处理异常.这样做有两个好处.第一,它允许你修正错误.第二,它防止程序自动终止.大多数用户对于在程序终止运行和在无论何时 ...
- vue axios跨域请求,apache服务器设置
问题所在axios请求会发送两次请求 也就是说,它会先使用options去测试,你这个接口是否能够正常通讯,如果不能就不会发送真正的请求过来,如果测试通讯正常,则开始正常请求. 思路: 跨域--> ...
- spring boot 引用外部配置文件
java -jar xx.jar -Dspring.config.location=/data/apps/xx/application-prod.properties
- 【Hadoop】Hadoop MR异常处理
1.代码示例 package com.ares.hadoop.mr.flowsort; import java.io.IOException; import org.apache.hadoop.con ...
- Storm sql 简单测试
准备工作: 1.安装Kafka,启动,以及创建相应的topic 1.启动kafka bin/kafka-server-start.sh config/server.properties > /d ...
- smarty在循环的时候计数来显示这是第几次循环的功能
想必有很多人比较喜欢这个smarty循环的时候有个变量增加的功能或比较需要这个功能吧?其实不需要额外的变量,当然你也许根本用不了.我们用smarty内置的就可以了.就是smarty有foreach和s ...