文档详情

虚拟现实技术-渲染工具.pptx

发布:2022-11-13约9.06千字共94页下载文档
文本预览下载声明
虚拟现实与人机交互;Contents; OpenGL概述;二、性能与特点 (1)跨平台特性 (2)应用的广泛性 (3)网络透明性 (4)高质量和高性能 (5)出色的编程特性;OpenGL的基本功能主要包括: 1)模型绘制; 2)模型观察; 3)颜色模式的指定; 4)光照运算; 5)图像效果增强; 6)位图和图像处理; 7)纹理影射; 8)实时动画; 9)交互技术;;三、工作流程 整个OpenGL的基本工作流程如下图所示 ;四、操作步骤 根据OpenGL的基本工作流程,可以归纳出在OpenGL中进行主要的图形操作直至在计算机屏幕上渲染绘制出三维图形景观的基本步骤: 根据基本图形单元建立景物模型,并且对所建立的模型进行数学描述。 把景物模型放在三维空间中的合适的位置,并且设置视点(viewpoint)以观察所感兴趣的景观。 计算模型中所有物体的色彩,其中的色彩根据应用要求来确定,同时确定光照条件、纹理粘贴方式等。 把景物模型的数学描述及其色彩信息转换至计算机屏幕上的象素,这个过程也就是光栅化(rasterization)。 在这些步骤的执行过程中,OpenGL可能执行其他的一些操作,例如自动消隐处理等。另外,景物光栅化之后被送入帧缓冲器之前还可以根据需要对象素数据进行操作。;五、库函数 (1)基本库GL (包括115个函数) 这些函数都以“gl”为前缀,主要功能包括物体描述、平移、旋转、缩放、光照、纹理、材质、像素、位图、文字处理等。所有OpenGL 提供的操作都可以使用这些函数来实现,而且对于不同的软件和硬件平台,这些函数的使用是完全相同的,这个特性注定了OpenGL程序完美的可移植性。 (2)实用库GLU (包括43个函数) 基本的OpenGL不支持传统上同图形标准相关的一些几何对象,为了减少一些编程负担,OpenGL提供了实用库。这是OpenGL基本库的一套子程序,这些函数以“glu”为前缀,主要功能包括绘制二次曲面、NURBS曲线曲面、复杂多边形以及纹理、矩阵管理等。实用库中的所有函数全都是由OpenGL基本库函数来编写的,使用方法与基本库相同。;(3)辅助库AUX (包括31个函数) OpenGL是一个图形标准,它没有提供窗口管理和消息事件响应的函数,这样使用标准C ??写OpenGL程序很不方便。辅助库以“aux”为前缀,为了方便用户提供了一些基本的窗口管理函数、事件处理函数和一些简单模型的制作函数等。例如,定义窗口的大小、处理键盘、鼠标击键事件、绘制多面体(见下表)等等。;三维物体绘制函数 ;(4) 实用工具库GLUT (包括30多个函数) 对应于实用库GLU,OpenGL还有一个实用工具库—GLUT。GL是核心,GLU是对GL的部分封装,而GLUT是OpenGL的跨平台工具库。GL中包含了最基本的绘图函数,而GLU似乎对GL的辅助,如果算法好,不用GLU的情况下,也是可以做出同样的效果。 GLUT是基本的窗口界面,是独立于GL和GLU的。如果不喜欢用GLUT,则可以借用MFC和Win32窗口等来代替。但GLUT是跨平台的,这就保证编出的程序也是跨平台的。如果是用MFC或者Win32实现,则只能在windows操作系统上使用。 选用OpenGL的一个很大原因就是因为它的跨平台性,所以应该可以尽量的使用GLUT库。;六、基本语法 OpenGL的数据类型定义与其它语言,如C/C++语言基本一致。 ; OpenGL的库函数命名方式很有规律,了解这种规律后阅读和编写程序都比较容易方便。 库前缀根命令可选的参数个数可选的参数类型 首先,每个库函数有前缀gl、glu、glut、aux、wgl、glx等,表示此函数分属于OpenGL某个库,其后的函数名头字母大写,后缀是参数类型的简写,取i、f。 例如: glVertex2i(2, 4); glVertex3f(2.0, 3.0, 5.0);;注意: 有的参数类型后缀前带有数字2、3、4。2代表二维,3代表三维,4代表alpha值。 有些函数最后带一个字母v,表示函数参数可用一个指针指向一个向量(或数组)来替代一系列单个参数值。例如,下面两种格式都表示设置当前颜色为红色,二者等价。 glColor3f(1.0, 0.0, 0.0); float color_array[]={1.0, 0.0, 0.0}; glColor3fv(color_array); 还有一种带“*”星号的表示方法,例如glColor*(),它表示可以用函数的各种方式来设置当前颜色。同理,glVertex*v()表示用一个指针指向所有类型的向量来定义一系列顶点坐标值。 OpenGL也定义GLvoid类型,可以用它替代void类型。;
显示全部
相似文档