[译]GLUT教程 - 子菜单】的更多相关文章

Lighthouse3d.com >> GLUT Tutorial >> Pop-up Menus >> Sub Menus 上一节我们介绍了如何创建普通菜单和如果绑定用户选定的菜单到处理事件.下面来介绍分层子菜单. 子菜单的创建和菜单用的是同一个函数.创建后插入到菜单的函数glutAddSubMenu原型如下: void glutAddSubMenu(char *entryName, int menuIndex); entryName - 子菜单名 menuIndex…
Lighthouse3d.com >> GLUT Tutorial >> Pop-up Menus >> Swapping Menus GLUT甚至可以在应用程序过程中更改整个菜单.提供了两个函数: glutSetMenu和glutGetMenu.原型如下: void glutSetMenu(int menu); menu - 上一个创建菜单的索引值 该函数可以让我们切换菜单,例如在应用程序上下文中切换. int glutGetMenu(void); 该函数返回当前菜单…
Lighthouse3d.com >> GLUT Tutorial >> Pop-up Menus >> Modifying Menus 肯定会有菜单需要被修改的状况出现.GLUT运行我们修改和删除菜单项.修改菜单项的函数原型如下: void glutChangeToMenuEntry(int entry, char *name, int value); entry - 菜单项的索引值,介乎于1和菜单项总数之间 name - 新菜单项的名 value - 菜单项被选中时…
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 >> Pop-up Menus >> The Code So Far III 这里我们准备包含一些前面几节展示过的素材.我们准备添加菜单到应用程序,子菜单和菜单交换. 直接复制粘贴下面代码到你的项目.鼠标右键会打开菜单.按键's'和'c'会生效到菜单选项. #include <stdlib.h> #include <math.h> #ifdef __APPLE__ #includ…
Lighthouse3d.com >> GLUT Tutorial >> Subwindows >> Creating and Destroying Subwindows 利用GLUT我们可以定义子窗体,例如切分主窗体到不同区域,每个子窗体有自己的OpenGL上下文和回调函数.一个可行的程序是可以同时提供几种相同场景的视觉. 为了创建子窗体,我们可以使用glutCreateSubWindow函数,原型如下: int glutCreateSubWindow(int par…
Lighthouse3d.com >> GLUT Tutorial >> Subwindows >> Rendering to Subwindows 先回顾一下之前的回调函数定义,当窗体和子窗体创建时定义的: 空闲函数 - renderSceneAll 主窗体的显示函数 - renderScene 子窗体1的显示函数 - renderScenesw1 子窗体2的显示函数 - renderScenesw2 子窗体3的显示函数 - renderScenesw3 我们会从各个…
Lighthouse3d.com >> GLUT Tutorial >> Subwindows >> Reshape Subwindows 重整函数的回调需要处理两件事:修改子窗体的大小,重新计算投影每个子窗体的投影矩阵.在我们的情况中,我们不需要渲染任何几何图案到主窗体,所以我们可以跳过重新计算投影矩阵这一步. 先来介绍修改大小和重定位子窗体的函数原型. void glutPositionWindow(int x, int y);void glutReshapeWin…
Lighthouse3d.com >> GLUT Tutorial >> Pop-up Menus >> Popup Menus 弹出菜单也是GLUT的一部分.虽然没有实现所有的窗体系统的弹出菜单的功能,但是GLUT也完成了一些非常有用的部分.为应用程序添加菜单,并提供一个简单的途径来交互和用键盘选择选项,避免了记住所有快捷键的麻烦. 第一步我们必须先创建一个菜单.GLUT的glutCreateMenu函数原型如下: int glutCreateMenu(void (*…
Lighthouse3d.com >> GLUT Tutorial >> Extras >> Game Mode 根据GLUT官网的说明,GLUT的游戏模式是为开启高性能全屏渲染而设计的.有些GLUT功能像弹出菜单和子窗体会因为增强性能而关闭.本节介绍GLUT的游戏模式.关于这个主题的教程和代码是可用的.由于我找不到官方文档,也没有其它教程关于这个主题,所以我不保证这节所有的内容都是对的.我建了一堆测试例子来尝试分析游戏模式的工作原理,但毕竟不同硬件的测试有限,所以会存…