虚拟现实建模技术

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Microsoft1996年发布的三维API,是交 互式媒体技术家族DirectX中的一员; 具有某些高级功能;
为什么是OpenGL?
(1)OpenGL:性能优越,计算环境广泛, 个人计算机-工作站-超级计算机; (2)虚拟环境平台Open Inventor、 World Tool Kit、Mulitgen Creator\Vega 是以OpenGL为基础开发的;
第四章 虚拟现实建模工具
虚拟现实系统图形程序设计接口
OpenGL
虚拟现实建模语言
VRML
虚拟现实建模工具
3Dsmax
4.1虚拟现实系统图形程序设计接口
虚拟环境构建主要是应用三维图形技术,
包括
图形的构建
图形的显示
在虚拟现实系统中,模型是十分复杂的;
显示:
软件: 3D图形应用程序
向其他平台移植时,开发了OpenGL 有GL的功能,而且是开放的,适用于多种硬件 平台及操作系统, 用户可以创建出接近光线跟踪的高质量静止或 动画的三维彩色图象,而且是要比光线跟踪算 法快一个数量级。
二、OpenGL的组成
OpenGL库
包括115个基本函数 函数以gl开头 例:glColor3f(), glTranslate3f(). 完成图元的定义、几何变换、投影等功能
功能强大的图形库:可开发多种特殊视觉 (如光照,纹理,透明,阴影)的三维图 形; 软硬件平台无关的跨平台三维图形引擎, 运行于多种窗口系统之上; 包含图元生成、投影、光照、光栅化等图 形显示过程所需的功能
OpenGL的发展历史:
前身是由SGI公司为其图形工作站开发的IRIS
GL,是一个工业标准的三维图形软件接口。
OpenGL实用库
实用函数43个 函数以glu开头 例:gluPerspective(); 完成更高层的图形处理如曲线曲面的生成、 图象操作等
OpenGL辅助库
包括函数31个 函数以aux开头 例:auxInitWindow(); 主要用于窗口管理
主要特点
OpenGL可以在网络上工作,即客户机/服
1、图元绘制
图元的表示
点:三维坐标(x,y,z)齐次坐标(x,y,z,1) 线段:两个端点 多边形:顶点序列 矩形:左下角点、右上角点
绘制图元
定义一个顶点 void glVertex{234}{sifd}[v](TYPE coords); 例:glVertex3f(1.0,1.0,1.0);
务器型
客户机:显示图形
服务器:运行图形程序
客户机与服务器可以不同类型,但两者服从相
wk.baidu.com同的协议。
OpenGL的硬件无关性——好的移植性
三、OpenGL基本工作流程
(1)根据基本图形单元(点,线,多边形)建立 景物模型,并对景物模型进行数学描述。 (2)在三维空间中放置景物模型,并设置视点。
绘制函数要在glBegin与glEnd之间调用。 glBegin标志几何要素定义的开始,glEnd函数 则标志结束一个几何要素的定义。
函数
void glBegin(Glenum mode); mode 的值见下表。
Mode 的值 GL_POINTS GL_LINES GL_POLYGON GL_TRIANGLES GL_QUADS GL_LINE_STRIP GL_LINE_LOOP GL_TRIANGLE_STRIP GL_TRIANGLE_FAN GL_QUAD_STRIP
(3)许多在计算机界具有领导地位的计算 机公司纷纷采用OpenGL作为三维图形应 用程序设计界面,OpenGL程序具有广泛 的移植性;
4.1 OpenGL简介
什么是OpenGL
OpenGL的组成
OpenGL的工作流程
OpenGL的基本操作 OpenGL程序的基本结构
一、什么是OpenGL?
2、图元的属性(1/5)
颜色
void glColor*(); void glIndex();

大小(缺省值为1) void glPointSize(GLfloat size);
线段
线宽 void glLineWidth(GLfloat width); 线型:连续线(缺省值)、点画线等
优点:适用于跨平台的应用开发,可运 行在Unix、Windows XP、Windows NT、及Mac平台上 缺点:不能完成某些高级功能,如某些 文件操作功能
Quick-Draw 3D(QD3D): Apple 公司
优点:跨平台的应用开发,具有某些高 级功能;是面向对象的图形系统;
Direct3D:
硬件:3D图形加速卡 接口:三维图形应用程序接口(3D API) 沟通3D图形应用程序和3D图形加速卡
三维图形编程接口(3D API)多达50多种
选择大公司和在图形应用方面获得广泛认 可的公司提供的三维API引擎; OpenGL Quick-Draw 3D Direct3D
OpenGL:SGI
void glEnable(GL_LINE_STIPPLE); void glLineStipple(GLint factor,GLushort pattern); 例: pattern factor 结果 0x00FF 1 0x00FF 2
解释 一系列独立的点 每两点相连成为线段 简单,凸多边形的边界 三点相连成为一个三角形 四点相连成为一个四边形 顶点相连成为一系列线段 顶点相连成为一系列线段,连接最后 一点与第一点 相连的三角形带 相连的三角形扇形 相连的四边形带
允许在glBegin()与glEnd()之间调用的 OpenGL命令 glVertex*(); glColor*(); glIndex(); glNormal(); glEvalCoord*(); glCallList(),glCallLists(); 等
(3)计算模型中物体的颜色(直接定义或由光照
及纹理间接给出)
(4)光栅化,把模型数学描述和颜色信息转换至
屏幕上 在上述过程中,可执行消隐处理等操作
四、OpenGL的基本操作
图元绘制 图元属性
OpenGL变换(几何变换、投影变换、裁 剪变换、视口变换) OpenGL图形的描绘
相关文档
最新文档