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版本,像freeGLUTOpenGLUT.他们的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)

键盘

移动镜头1

键盘高级特性

移动镜头2

整合代码1

鼠标

移动镜头3

整合代码2

弹出菜单

弹出菜单基础

子菜单

修改菜单

交换菜单

整合代码3

字体

位图字体

整合代码4

位图和正交投影视图

笔划字体

额外功能

每秒帧数

整合代码5

游戏模式

整合代码6

子窗体

创建和关闭子窗体

重整子窗体

渲染到子窗体

整合代码7

避开空闲函数

glutPostRedisplay函数

整合代码8

源代码和项目文件

附英文版目录

Index

Basics

Input

Pop-up Menus

Fonts

Extras

Subwindows

Avoiding the Idle Func

Source Code and Projects

[译]GLUT教程(目录)的更多相关文章

  1. [译]GLUT教程 - 安装

    Lighthouse3d.com >> GLUT Tutorial >> Basics >> Setup 你需要什么 要用GLUT库开发程序,你可以下载最新版本3. ...

  2. [译]GLUT教程 - 游戏模式

    Lighthouse3d.com >> GLUT Tutorial >> Extras >> Game Mode 根据GLUT官网的说明,GLUT的游戏模式是为开启 ...

  3. [译]GLUT教程 - glutPostRedisplay函数

    Lighthouse3d.com >> GLUT Tutorial >> Avoiding the Idle Func >> glutPostRedisplay 直 ...

  4. [译]GLUT教程 - 整合代码8

    Lighthouse3d.com >> GLUT Tutorial >> Avoiding the Idle Func >> The Code So Far VII ...

  5. [译]GLUT教程 - 整合代码7

    Lighthouse3d.com >> GLUT Tutorial >> Extras >> The Code So Far VII 以下是子窗体的最终版本代码. ...

  6. [译]GLUT教程 - 渲染到子窗体

    Lighthouse3d.com >> GLUT Tutorial >> Subwindows >> Rendering to Subwindows 先回顾一下之前 ...

  7. [译]GLUT教程 - 重整子窗体

    Lighthouse3d.com >> GLUT Tutorial >> Subwindows >> Reshape Subwindows 重整函数的回调需要处理两 ...

  8. [译]GLUT教程 - 创建和关闭子窗体

    Lighthouse3d.com >> GLUT Tutorial >> Subwindows >> Creating and Destroying Subwind ...

  9. [译]GLUT教程 - 整合代码6

    Lighthouse3d.com >> GLUT Tutorial >> Extras >> The Code So Far VI 下面代码以窗体模式启动.你可以在 ...

随机推荐

  1. #421 Div1 C

    #421 Div1 C 题意 在 (0, n) 和 (m, 0) 处各有一个装置,从起始点(0, 0)出发,首先走短路到 (m, 0) 拿起装置回到起始点,再去 (0, n) 处拿起装置回到起始点.当 ...

  2. Java多线程中的异常处理

    在java多线程程序中,所有线程都不允许抛出未捕获的checked exception,也就是说各个线程需要自己把自己的checked exception处理掉.这一点是通过java.lang.Run ...

  3. 【转载】 GNU GCC 选项说明

    GCC 1 Section: GNU Tools (1) Updated: 2003/12/05 Sponsor: GCC Casino Winning Content NAME gcc,g++-GN ...

  4. 磁盘爆满导致MySQL无法启动:Disk is full writing './mysql-bin.~rec~' (Errcode: 28). Waiting for someone to free space...

    今天收到监控邮件说博客访问失败.打开页面一看,硕大的502 Bad Gateway,ping了一下VPS发现是通的,SSH连接上去看了下Nginx日志发现没问题,重启lnmp的时候发现Mysql起不来 ...

  5. Vue 基础的开发环境

    本期节目将手把手教你去 NPM 市场买最新鲜的食材,只为搭配 小鲜肉 Vue 下厨. 既然它是当红小鲜肉,我想有必要写一篇文章来帮助大家配置好 Vue 的生产环境,我给它的总体评价是“简单却不失优雅, ...

  6. Visual Studio 行末回车时运算符两侧自动加空格是怎么设置的

    在工具—>选项->文本编辑器->c#->格式设置->间距后有三个选项 如果已经选中"二元运算符前后插入空格" 而VS又抽风没有这个功能时,可以选中其余 ...

  7. Android并发编程

    Android的并发编程,即多线程开发,而Android的多线程开发模型也是源于Java中的多线程模型.所以本篇也会先讲一些Java中的多线程理念,再讲解具体涉及的类,最后深入Android中的并发场 ...

  8. 消除SDK更新时的“https://dl-ssl.google.com refused”错误

    消除SDK更新时,有可能会出现这样的错误: Download interrupted: hostname in certificate didn't match: <dl-ssl.google. ...

  9. 粗谈CDN

    CDN:内容分发网络(content delivery network) 1.DNS解析到最快(有可能是地理上最近,也有可能是地理上远但是链路最好)的CDN缓存设备 2.从CDN获取已经缓存的资源 3 ...

  10. 关于在SSH2中使用ajax技术的总结(主要写Struts2和ajax)

    以下内容是自己理解的,因为还没有看过相关的文章,所以,技术上还是有很大的欠缺.不过这也是自己努力思考得到的,如果有什么更好的建议可以回复我. 1. 任务需求: 实现一个包含数据的表格,并且有分页功能. ...