下载此文档

3.3交互设计 计算机图形学 OpenGL 课件.pdf


文档分类:IT计算机 | 页数:约35页 举报非法文档有奖
1/35
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/35 下载此文档
文档列表 文档介绍
计算机图形学
杨武
影像科学与技术实验室
东南大学计算机学院
******@seu.
第三章之第三节
交互程序设计
2
基本内容
学会设计更复杂的交互程序,采用
的方法为
–选取
•从显示结果中选择对象
•三种方法
–橡皮筋
•直线与矩形的交互绘制方法
–显示列表
•图形的记忆模式
3
拾取(Picking)
从显示结果中识别用户定义的对象
原则上说要达到这个目标是很简单的,
因为鼠标可以提供位置信息,我们因当
能够根据位置确定对应的是哪个对象
实际操作中的困难
–离位置多近可以认为选择了对象?
–流水线式的图形体系是单向的,很难从二维
屏幕返回到三维世界
4
三种方法
矩形映射
–容易实现
当绘制对象时,利用后缓冲区或者
其它缓冲区存贮对象的标识
击中(hit)列表
–最一般性的方法,实现也最困难
5
利用屏幕区域
很多应用程序利用简单的矩形区域将窗
口分割
–例如画图/CAD 系统
工具栏
菜单
绘画区域
通过判断鼠标位置即可容易的得知选择
对象
6
通过另外的缓冲区和颜色
进行选取
对于很少数目的对象,可以给每个
对象赋以唯一的颜色(有时是在颜色
索引模式中)
然后把场景输入颜色缓冲区中,这
样就不会看到显示出来的结果
然后获到鼠标位置,利用
glReadPixels()读取缓冲区中的颜色
根据返回的颜色确定是哪个对象
再用正常颜色绘制显示
7
显示输出模式
利用可以设置
 glRenderMode(mode)
用下述三种模式显示内容
OpenGL
正常显示到帧缓冲区中(缺
– GL_RENDER:
省模式)
提供要显示的几何列表,
– GL_FEEDBACK:
但并不输出到帧缓冲区中
在视景体中的每个几何体
– GL_SELECTION:
创建一个击中记录,这个记录放到名称
堆栈中,稍后要被检测
8
选择模式中用到的函数
指定名称缓冲区
 glSelectBuffer():
初始化名称缓冲区
 glInitNames():
把放到名称缓冲区中
 glPushName(id): id
将名称缓冲区顶部的名称
 glPopName():
弹出
取代在名称缓冲区顶
 glLoadName(id):
部的名称
 id 是由应用程序设置,用以识别对象
9
选择模式的应用
初始化名称缓冲区
进入选择模式(例如:应用鼠标)
显示输出场景,场景中对象具有用
户指定的标识
重新进入正常的显示输出模式
–该操作返回击中对象个数
检查名称缓冲区的内容(击中记录)
–击中记录包含id与深度信息
10

3.3交互设计 计算机图形学 OpenGL 课件 来自淘豆网m.daumloan.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数35
  • 收藏数0 收藏
  • 顶次数0
  • 上传人drp539601
  • 文件大小0 KB
  • 时间2015-08-29
最近更新