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. Python的程序结构[8] -> 装饰器/Decorator -> 装饰器浅析

    装饰器 / Decorator 目录 关于闭包 装饰器的本质 语法糖 装饰器传入参数 1 关于闭包 / About Closure 装饰器其本质是一个闭包函数,为此首先理解闭包的含义. 闭包(Clos ...

  2. 服务的注册与发现Eureka(二)

    1.服务治理概念 在传统rpc远程调用中,服务与服务依赖关系,管理比较复杂,所以需要使用服务治理,管理服务与服务之间依赖关系,可以实现服务调用.负载均衡.容错等,实现服务发现与注册. 2.服务的注册与 ...

  3. Bfs【p2385】 青铜莲花池

    题目描述--->p2385 青铜莲花池 分析 很明显了,题目告诉我们有八个方向,当然优先考虑bfs! 很简单的bfs,重点在于考虑清楚8个方向. 自己刚开始打错了 emmm 给大家上一个图.↓ ...

  4. 深入JS正则先行断言

    这里是 Mastering Lookahead and Lookbehind 文章的简单翻译,这篇文章是在自己搜索问题的时候stackoverflow上回答问题的人推荐的,看完觉得写得很不错.这里的简 ...

  5. Java中堆和栈有什么区别

    stack 和 heep 都是内存的一部分stack 空间小,速度比较快, 用来放对象的引用heep 大,一般所有创建的对象都放在这里. 栈(stack):是一个先进后出的数据结构,通常用于保存方法( ...

  6. linux下安装 tomcat

    1.首先配置jdk,上篇文章中有具体的介绍. 2.官网下载tomcat:https://tomcat.apache.org/download-80.cgi (下载 tar.gz 的版本 ) 3.上传压 ...

  7. 程设刷题 | 程序设计实践II-2017(部分)

    目录 1165-算术题 题目描述 代码实现 1184-Tourist 1 题目描述 代码实现 1186-Tourist 2 题目描述 代码实现 1224-LOVE 题目描述 代码实现 1256-湘潭大 ...

  8. 我学MSMQ(一)

    一.通过这篇文章主要是对自己学习MSMQ进行小结,并希望能把自己的想法写出来,能和一些也正在研究MSMQ的朋友共同学习,并希望能给予指导和建议         二.首先是MSMQ的一些理论上的知识   ...

  9. MathType requires a newer version of MT Extra等MathType问题的不兼容性解决方案

    常见问题解决方法: 1.MathType 6.0与office 2007兼容问题 由于Office软件安装时默认是不安装公式编辑器的,在安装完MathType 6.0之后,需要将\MathType 6 ...

  10. JAVA常见算法题(十八)

    package com.xiaowu.demo; /** * 两个乒乓球队进行比赛,各出三人.甲队为a,b,c三人,乙队为x,y,z三人,以抽签决定比赛名单. 有人向队员打听比赛的名单:a说他不和x比 ...