OpenGL交互输入:从键盘与鼠标事件
需积分: 6 47 浏览量
更新于2024-08-02
收藏 342KB PPT 举报
"香港大学OpenGL课件英文版第五章——交互式输入"
在计算机图形学领域,OpenGL是一个广泛使用的图形库,用于创建二维和三维图像。本章内容主要围绕交互式输入,即用户如何通过键盘、鼠标等设备与图形界面进行交互。交互式输入是现代图形用户界面(GUI)和游戏开发中的核心要素。
1. 输入模式
输入模式分为请求模式(Request Mode)和事件模式(Event Mode)。这两种模式决定了程序如何响应用户的输入。
2. 请求模式(Request Mode)
在请求模式中,当程序请求获取输入时,它的执行会被挂起。直到数据准备好,程序才会被一个触发过程唤醒。例如,当一个运行在个人电脑上的程序请求从键盘获取字符输入时,程序执行暂停。当用户按下 'A'、'B'、'C' 和回车键时,这些字符会被保存在键盘缓冲区。只有当用户按下回车键时,程序才会被唤醒并处理这些输入。
程序示例:
```cpp
char ch;
do{
cin >> ch;
cout << ch << "(" << (int)ch << ")\n";
}while(ch != '\n');
```
在这个例子中,如果输入 "blue",输出将会是 "red,green",其中回车符('\n')是不可见的,但程序会将其识别为结束输入的标志。
3. 事件模式(Event Mode)
事件模式主要用于图形界面和游戏开发。在这种模式下,程序的执行由事件处理机制驱动。当用户按下键盘键或点击鼠标按钮,一个事件通知会被添加到事件队列中。程序会持续检查这个队列,每当有新事件出现,就会相应地处理它。这样,程序可以实时响应用户的操作,提供更流畅的交互体验。
4. 键盘和鼠标输入
在OpenGL中,可以通过特定的函数来处理键盘和鼠标事件。例如,可以监听键盘事件来改变物体的位置、颜色或其他属性;监听鼠标事件来实现平移、缩放或旋转视图。
5. 弹出式菜单(Pop-up menu)和窗口重塑(Reshaping window)
弹出式菜单是GUI中常用的功能,允许用户在图形界面中选择不同的操作。而窗口重塑则涉及到窗口大小的改变,当用户调整窗口尺寸时,程序需要适当地更新渲染区域以适应新的窗口尺寸。
第五章介绍了OpenGL中处理用户交互的基本方法,包括请求模式和事件模式下的键盘、鼠标输入以及弹出式菜单和窗口重塑等重要概念。这些知识对于开发交互性强的图形应用至关重要。理解并熟练掌握这些内容,能够帮助开发者构建更加直观、响应迅速的图形界面。
2009-10-28 上传
2009-10-28 上传
2009-10-28 上传
2009-10-28 上传
2009-10-28 上传
2009-10-28 上传
2009-10-28 上传
点击了解资源详情
点击了解资源详情
biao060798
- 粉丝: 3
- 资源: 22
最新资源
- 深入浅出:自定义 Grunt 任务的实践指南
- 网络物理突变工具的多点路径规划实现与分析
- multifeed: 实现多作者间的超核心共享与同步技术
- C++商品交易系统实习项目详细要求
- macOS系统Python模块whl包安装教程
- 掌握fullstackJS:构建React框架与快速开发应用
- React-Purify: 实现React组件纯净方法的工具介绍
- deck.js:构建现代HTML演示的JavaScript库
- nunn:现代C++17实现的机器学习库开源项目
- Python安装包 Acquisition-4.12-cp35-cp35m-win_amd64.whl.zip 使用说明
- Amaranthus-tuberculatus基因组分析脚本集
- Ubuntu 12.04下Realtek RTL8821AE驱动的向后移植指南
- 掌握Jest环境下的最新jsdom功能
- CAGI Toolkit:开源Asterisk PBX的AGI应用开发
- MyDropDemo: 体验QGraphicsView的拖放功能
- 远程FPGA平台上的Quartus II17.1 LCD色块闪烁现象解析