三维可视化技术工具软件OpenGL的基本原理
OpenGL是一个硬件发生器的软件接口,其主要目的是将二维三维物体绘制到一个帧缓冲里,它包括几百个图形函数,开发者主要利用这些函数来建立三维模型和进行三维实时交互。
- 图元操作和指令:OpenGL能够从多种可选择的模式画图元,而且一种模式的设置一般不会影响其他模式的设置,无论发生什么情况,指令总是被顺序处理,也就是说一个图元必须完全画完之后,后继图元才能影响帧存。
- 图形控制:OpenGL提供者诸如变换矩阵、光照、反走样方法、像素操作等参数来控制二维和三维图形的绘制,它并不提供一个描述或建立复杂几何物体的手段,OpenGL提供的是怎样画复杂物体的机制而非描绘复杂物体本身的工具,即OpenGL是过程性的而非描述性的。
- 执行模式:OpenGL命令的解释模式是客户/服务器模式的,即由客户发布命令,命令由OpenGL服务器(解释器)来处理,服务器可以运行在客户在相同或不同的计算机上,基于这一点,OpenGL是网络透明的。
OpenGL的命令语法与状态
基于OpenGL标准的开发的微机应用程序必须在32位Windows平台下,如Windows 98/NT环境,运行时所需的动态连接库为OpenGL 32.DELL、Glu 32.dell,OpenGL包含100多个库函数,这些函数按一定的格式来命名。
- 核心函数115个,每个函数以gl开头,这些函数是最基本的,可以运行在任何工作平台上。这些函数创建二维和三维几何形体,设置视点,建立视觉体,设置颜色及材质,建立灯光,进行纹理映射,反走样,处理融合、雾化场景等,它们可以接受不同的参数因而可派生300多个函数;
- OpenGL实用库函数以glu开头,共43个。这些函数基于OpenGL核心函数,主要提供对辅助函数的支持,并且执行了核心OpenGL函数的交互,因而是比核心函数更高一层的函数,也更有通用性,可以运行在任何OpenGL工作平台上;
- 辅助库函数,共31个。以aux开头,它们是一类特殊的OpenGL函数,是帮助初学者尽快进入OpenGL编程而做简单练习用的,因此并不能在所有平台上运行,但Windows 98/NT支持;
- Windows专用库函数,以wgl开头,主要是连接OpenGL和Windows窗口系统的,用它们可以管理着色描述表及显示列表,扩展功能,管理字体位图等;
- Win 32 API函数,共6个,用于处理像素格式化及缓冲;
- OpenGL结构共4个。
OpenGL图形操作步骤:
- 设置像素格式:主要包括建立OpenGL绘制风格。颜色模式、颜色位数、深度位数等;
- 建立模型:建立三维模型;
- 舞台布景:如何把景物放置在三维空间的适当位置,设置三维透视视觉体以观察场景;
- 效果处理:设置物体的材质(颜色、光学性能及纹理映射等)加入光照及光照条件;
- 光栅化:把景物及其颜色信息转化为可在计算机上显示的像素信息。