[译]GLUT教程 - 游戏模式】的更多相关文章

Lighthouse3d.com >> GLUT Tutorial >> Extras >> Game Mode 根据GLUT官网的说明,GLUT的游戏模式是为开启高性能全屏渲染而设计的.有些GLUT功能像弹出菜单和子窗体会因为增强性能而关闭.本节介绍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令…
Lighthouse3d.com >> GLUT Tutorial >> Extras >> The Code So Far VI 下面代码以窗体模式启动.你可以在一堆给定的设置中选择用哪个进入游戏模式,也可以返回窗体模式.命令是用位图字体显示在屏幕上. #include <stdio.h> #include <stdlib.h> #include <math.h> #ifdef __APPLE__ #include <GLUT…
Lighthouse3d.com >> GLUT Tutorial >> Fonts >> Bitmap Fonts and Orthogonal Projections 一般用法下,位图字体只能以二维的形式显示信息给用户.例如,一个简单的例子,我们想显示应用程序每秒的帧数.这些信息可以驻留在同一个位置,即使用户移动镜头.除此之外,用二维的正交投影比透视投影更容易计算这些位置,因为我们可以指定用像素表示该位置. 实现的基本模式是以之前的方式绘制世界,用透视投影,然后切换…
Lighthouse3d.com >> GLUT Tutorial >> Pop-up Menus >> Sub Menus 上一节我们介绍了如何创建普通菜单和如果绑定用户选定的菜单到处理事件.下面来介绍分层子菜单. 子菜单的创建和菜单用的是同一个函数.创建后插入到菜单的函数glutAddSubMenu原型如下: void glutAddSubMenu(char *entryName, int menuIndex); entryName - 子菜单名 menuIndex…
Lighthouse3d.com >> GLUT Tutorial >> Basics >> Animation 前面章节我们已经创建了一个白色三角形的窗体.还没到高潮,现在开始感受OpenGL动画的乐趣.我们会让三角形旋转. 首先我们要告知GLUT应用程序当处于空闲时,渲染函数要被调用.这样可促使GLUT保持调用渲染函数来启用动画效果.GLUT提供一个函数glutIdleFunc来让你注册一个回调函数用于绑定应用程序空闲时事件. void glutIdleFunc(v…
Lighthouse3d.com >> GLUT Tutorial >> Basics >> Initialization 这一节开始从main函数入手.第一步是线初始化GLUT库和创建窗体. GLUT进入事件处理循环之后会获得程序的控制权.GLUT会等待事件(event)发生,然后检查有没有绑定的函数来处理它. 所以在GLUT进入它的事件处理循环之前,我们要先告诉GLUT事件发生时需要调用哪个函数来处理. 你是不是想问什么是事件(event).事件就是诸如键盘的键被按…
Lighthouse3d.com >> GLUT Tutorial >> Avoiding the Idle Func >> glutPostRedisplay 直到所有源代码都使用显示函数作为空闲函数.这意味着当没有任何事件要处理的时候GLUT会调用显示函数,也就是说,它会尽可能频繁的调用显示函数. 这个一个建立交互程序的简单方法.当你的回调函数处理完键盘事件后,显示函数会自动被调用,屏幕会被重绘. 我们要做的只是把显示函数和空闲函数注册到同一个回调函数. 如果我们的…
Lighthouse3d.com >> GLUT Tutorial >> Basics >> Setup 你需要什么 要用GLUT库开发程序,你可以下载最新版本3.7.6.你可以下GLUT的源代码,也可以直接下Windows二进制文件(.h/.lib/.dll) 要用GLUT库开发C/C++程序,要用到以下三个文件: glut.h - 这是你的程序要用到的包含头文件.一般放到C:\Program Files\Microsoft Visual Studio 11.0\VC…
Lighthouse3d.com >> GLUT Tutorial >> Avoiding the Idle Func >> The Code So Far VIII 以下代码用glutPostRedisplay函数代替了原来的空闲函数的回调. #include <stdio.h> #include <stdlib.h> #include <math.h> #ifdef __APPLE__ #include <GLUT/glut…