OpenGL简介资料.ppt





《OpenGL简介资料.ppt》由会员分享,可在线阅读,更多相关《OpenGL简介资料.ppt(39页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、OpenGL简介简介n是在是在SGI等多家世界闻名的计算机公司的倡导等多家世界闻名的计算机公司的倡导下,以下,以SGI的的GL三维图形库为基础制定的一个三维图形库为基础制定的一个通用共享的通用共享的开放式三维图形标准开放式三维图形标准。 n是图形硬件的一个软件接口。是图形硬件的一个软件接口。OpenGL学习资源nOpenGL红皮书红皮书即即OpenGL编程指南编程指南nOpenGL蓝皮书蓝皮书即即OpenGL参考手册参考手册nOpenGL超级宝典超级宝典nOpenGL高级编程与可视化系统开发高级编程与可视化系统开发(高(高级编程篇)级编程篇)OpenGL特点nOpenGL是一个开放的三维图形软
2、件包,它独是一个开放的三维图形软件包,它独立于窗口系统和操作系统,以它为基础开发的立于窗口系统和操作系统,以它为基础开发的应用程序可以十分方便地在各种平台间移植。应用程序可以十分方便地在各种平台间移植。nOpenGL可以与可以与Visual C+紧密接口,便于实紧密接口,便于实现有关计算和图形算法,可保证算法的正确性现有关计算和图形算法,可保证算法的正确性和可靠性。和可靠性。n OpenGL使用简便,效率高。使用简便,效率高。 OpenGL功能(一)n建模建模OpenGL图形库除了提供基本的图形库除了提供基本的点、线、多边点、线、多边形形的绘制函数外,还提供了复杂的的绘制函数外,还提供了复杂的
3、三维物体三维物体(球、锥、多面体、茶壶等)以及复杂(球、锥、多面体、茶壶等)以及复杂曲线和曲线和曲面曲面(例如(例如Bezier、Nurbs等曲线或曲面)绘等曲线或曲面)绘制函数。制函数。OpenGL功能(二)n变换变换OpenGL图形库的变换包括图形库的变换包括基本变换基本变换和和投影变投影变换换。基本变换有平移、旋转、缩放、镜像四种。基本变换有平移、旋转、缩放、镜像四种变换,投影变换有平行投影(又称正交投影)变换,投影变换有平行投影(又称正交投影)和透视投影两种变换。和透视投影两种变换。OpenGL功能(三)n颜色模式设置颜色模式设置OpenGL颜色模式有两种,即颜色模式有两种,即RGBA
4、模式模式和和颜颜色索引色索引(Color Index)。)。 OpenGL功能(四)n光照和材质设置光照和材质设置OpenGL光有辐射光(光有辐射光(Emitted Light)、环)、环境光(境光(Ambient Light)、漫反射光()、漫反射光(Diffuse Light)和镜面光()和镜面光(Specular Light)。材质)。材质是用光反射率来表示。场景(是用光反射率来表示。场景(Scene)中物体)中物体最终反映到人眼的颜色是最终反映到人眼的颜色是光的红绿蓝分量与材光的红绿蓝分量与材质红绿蓝分量的反射率相乘后形成的颜色质红绿蓝分量的反射率相乘后形成的颜色。OpenGL功能(五
5、)n纹理映射(纹理映射(Texture Mapping)利用利用OpenGL纹理映射功能可以十分逼真地表纹理映射功能可以十分逼真地表达物体表面细节。达物体表面细节。 OpenGL功能(六)n位图显示和图象增强位图显示和图象增强图象功能除了基本的拷贝和像素读写外,还提图象功能除了基本的拷贝和像素读写外,还提供供融合融合(Blending)、)、反走样反走样(Antialiasing)和和雾雾(fog)的特殊图象效果处理。以上三条)的特殊图象效果处理。以上三条可使被仿真物更具真实感,增强图形显示的效可使被仿真物更具真实感,增强图形显示的效果。果。 OpenGL功能(七)n双缓存动画(双缓存动画(D
6、ouble Buffering)双缓存即前台缓存和后台缓存,简而言之,后双缓存即前台缓存和后台缓存,简而言之,后台缓存计算场景、生成画面,前台缓存显示后台缓存计算场景、生成画面,前台缓存显示后台缓存已画好的画面。台缓存已画好的画面。n此外,利用此外,利用OpenGL还能实现深度暗示还能实现深度暗示(Depth Cue)、运动模糊()、运动模糊(Motion Blur)等特殊效果。从而实现了消隐算法。等特殊效果。从而实现了消隐算法。 走进OpenGL编程n术语术语u渲染:计算机根据模型创建图像。渲染:计算机根据模型创建图像。u模型:由几何图元(点、直线、多边形)构成的模型:由几何图元(点、直线、
7、多边形)构成的物体。物体。nOpenGL主要作用主要作用u将二维或三维的对象绘入一个帧缓冲区中。对象将二维或三维的对象绘入一个帧缓冲区中。对象被描述为一系列的顶点(用来定义几何图元)或被描述为一系列的顶点(用来定义几何图元)或像素(用来定义图像)。像素(用来定义图像)。O p e n G L对数据进行对数据进行几个步骤的处理从而将其转换成像素,这些像素几个步骤的处理从而将其转换成像素,这些像素将在帧缓冲区中形成最终需要的图形。将在帧缓冲区中形成最终需要的图形。OpenGL函数库(一)nOpenGL图形库(图形库(gl.h) 提供最基本的函数,函数前缀是提供最基本的函数,函数前缀是gl。nOpe
8、nGL实用库(实用库(glu.h) 包含多个完成诸如设置视点矩阵和投影矩阵、包含多个完成诸如设置视点矩阵和投影矩阵、执行多边形网格化以及渲染曲面等任务的函数。执行多边形网格化以及渲染曲面等任务的函数。 OpenGL函数库(二)nOpenGL实用工具包(实用工具包(glut.h) 这是一个独立于窗口系统的工具包,用于绕这是一个独立于窗口系统的工具包,用于绕开窗口系统开窗口系统API的复杂性,简化打开窗口、检的复杂性,简化打开窗口、检测输入等任务。测输入等任务。 提供了一些用于创建复杂三维物体(如球体、提供了一些用于创建复杂三维物体(如球体、圆环和茶壶)的函数。圆环和茶壶)的函数。 前缀是前缀是g
9、lut。OpenGL函数库(三)nOpenGL辅助库(辅助库(glaux.h) 提供一些特殊的函数,包括简单的窗口管理、提供一些特殊的函数,包括简单的窗口管理、输入事件处理、某些复杂三维物体绘制等函数。输入事件处理、某些复杂三维物体绘制等函数。前缀是前缀是aux。n现在我们更多的采用现在我们更多的采用glut库,不再使用库,不再使用glaux库。库。 OpenGL函数库(四)n加载加载glut库库u把过把过glut32.lib拷贝到拷贝到VC的安装目录下的的安装目录下的lib文文件夹中:如件夹中:如D:Program FilesMicrosoft Visual StudioVC98Libu把把
10、glut.h拷贝到拷贝到VC的安装目录下的的安装目录下的IncludeGL文件夹中:文件夹中:如:如:D:Program FilesMicrosoft Visual StudioVC98IncludeGLu把把glut32.dll拷贝到拷贝到C:WINDOWSsystem32用OpenGL编写程序的基本模板n包含文件包含文件 #include /用到系统中的函数用到系统中的函数 #include /基本函数基本函数 #include /最常用函数最常用函数 #include /窗口操作窗口操作n注意:注意:glut.h确保了确保了gl.h和和glu.h被正确地包含进来,因被正确地包含进来,因此
11、同时包含这此同时包含这3个头文件是多余的。另外,个头文件是多余的。另外,glut.h在包在包含含gl.h和和glu.h之前,确保任何与操作系统相关的内部宏之前,确保任何与操作系统相关的内部宏都被正确的定义。为使都被正确的定义。为使Glut程序是可移植的,应程序是可移植的,应包含头包含头文件文件glut.h,但不显式地包含头文件,但不显式地包含头文件gl.h和和glu.h。用OpenGL编写程序的基本模板 /主函数主函数 int main(int argc, char* argv) glutInit(&argc, argv); glutInitDisplayMode(GLUT_DOUBLE |
12、GLUT_RGB | GLUT_DEPTH); /设置显示模式(颜色、缓冲区等)设置显示模式(颜色、缓冲区等)glutCreateWindow(“A Simple Example”); /创建窗口创建窗口 SetupRC(); /初始化渲染环境初始化渲染环境glutDisplayFunc(RenderScene); /调用场景渲染函数调用场景渲染函数 glutReshapeFunc(ChangeSize); /窗口发生变化窗口发生变化glutMainLoop(); /程序开始事件处理程序开始事件处理用OpenGL编写程序的基本模板 /初始化渲染环境初始化渲染环境 void SetupRC()
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- OpenGL 简介 资料

限制150内