OpenGL简介资料

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

OpenGL功能(七)


双缓存动画(Double Buffering) 双缓存即前台缓存和后台缓存,简而言之,后 台缓存计算场景、生成画面,前台缓存显示后 台缓存已画好的画面。 此外,利用OpenGL还能实现深度暗示 (Depth Cue)、运动模糊(Motion Blur) 等特殊效果。从而实现了消隐算法。
用OpenGL编写程序的基本模板
//主函数
int main(int argc, char* argv[]) { glutInit(&argc, argv); glutInitDisplayMode(GLUT_DOUBLE | GLUT_RGB | GLUT_DEPTH); //设置显示模式(颜色、缓冲区等) glutCreateWindow(“A Simple Example”); //创建窗口 SetupRC(); //初始化渲染环境 glutDisplayFunc(RenderScene); //调用场景渲染函数 glutReshapeFunc(ChangeSize); //窗口发生变化 glutMainLoop(); //程序开始事件处理 }
OpenGL功能(三)

颜色模式设置 OpenGL颜色模式有两种,即RGBA模式和颜 色索引(Color Index)。
OpenGL功能(四)

光照和材质设置 OpenGL光有辐射光(Emitted Light)、环 境光(Ambient Light)、漫反射光(Diffuse Light)和镜面光(Specular Light)。材质 是用光反射率来表示。场景(Scene)中物体 最终反映到人眼的颜色是光的红绿蓝分量与材 质红绿蓝分量的反射率相乘后形成的颜色。

OpenGL主要作用

OpenGL函数库(一)


OpenGL图形库(gl.h) 提供最基本的函数,函数前缀是gl。 OpenGL实用库(glu.h) 包含多个完成诸如设置视点矩阵和投影矩阵、 执行多边形网格化以及渲染曲面等任务的函数。
OpenGL函数库(二)

OpenGL实用工具包(glut.h) 这是一个独立于窗口系统的工具包,用于绕 开窗口系统API的复杂性,简化打开窗口、检 测输入等任务。 提供了一些用于创建复杂三维物体(如球体、 圆环和茶壶)的函数。 前缀是glut。
OpenGL功能(五)

纹理映射(Texture Mapping) 利用OpenGL纹理映射功能可以十分逼真地表 达物体表面细节。
OpenGL功能(六)

位图显示和图象增强 图象功能除了基本的拷贝和像素读写外,还提 供融合(Blending)、反走样(Antialiasing) 和雾(fog)的特殊图象效果处理。以上三条 可使被仿真物更具真实感,增强图形显示的效 果。
OpenGL特点



OpenGL是一个开放的三维图形软件包,它独 立于窗口系统和操作系统,以它为基础开发的 应用程序可以十分方便地在各种平台间移植。 OpenGL可以与Visual C++紧密接口,便于实 现有关计算和图形算法,可保证算法的正确性 和可靠性。 OpenGL使用简便,效率高。
OpenGL功能(一)
OpenGL简介


是在SGI等多家世界闻名的计算机公司的倡导 下,以SGI的GL三维图形库为基础制定的一个 通用共享的开放式三维图形标准。 是图形硬件的一个软件接口。
OpenGL学习资源



《OpenGL红皮书》即《OpenGL编程指南》 《OpenGL蓝皮书》即《OpenGL参考手册》 《OpenGL超级宝典》 《OpenGL高级编程与可视化系统开发》(高 级编程篇) http://nehe.gamedev.net/ http://www.opengl.org/
用OpenGL编写程序的基本模板


包含文件 #include<windows.h> //用到系统中的函数 #include<GL/gl.h> //基本函数 #include<GL/glu.h> //最常用函数 #include<GL/glut.h> //窗口操作 注意:glut.h确保了gl.h和glu.h被正确地包含进来,因 此同时包含这3个头文件是多余的。另外,glut.h在包含 gl.h和glu.h之前,确保任何与操作系统相关的内部宏都 被正确的定义。为使Glut程序是可移植的,应包含头文 件glut.h,但不显式地包含头文件gl.h和glu.h。
走进OpenGL编程

术语

渲染:计算机根据模型创建图像。 模型:由几何图元(点、直线、多边形)构成的 物体。 将二维或三维的对象绘入一个帧缓冲区中。对象 被描述为一系列的顶点(用来定义几何图元)或 像素(用来定义图像)。O p e n G L对数据进行 几个步骤的处理从而将其转换成像素,这些像素 将在帧缓冲区中形成最终需要的图形。
OpenGL函数库(三)


OpenGL辅助库(glaux.h) 提供一些特殊的函数,包括简单的窗口管理、 输入事件处理、某些复杂三维物体绘制等函数。 前缀是aux。 现在我们更多的采用glut库,不再使用glaux 库。
OpenGL函数库(四)

加载glut库



把过glut32.lib拷贝到VC的安装目录下的lib文 件夹中:如D:\Program Files\Microsoft Visual Studio\VC98\Lib 把glut.h拷贝到VC的安装目录下的Include\GL 文件夹中:如:D:\Program Files\Microsoft Visual Studio\VC98\Include\GL 把glut32.dll拷贝到C:\WINDOWS\system32
Hale Waihona Puke Baidu
建模 OpenGL图形库除了提供基本的点、线、多边 形的绘制函数外,还提供了复杂的三维物体 (球、锥、多面体、茶壶等)以及复杂曲线和 曲面(例如Bezier、Nurbs等曲线或曲面)绘 制函数。
OpenGL功能(二)

变换 OpenGL图形库的变换包括基本变换和投影变 换。基本变换有平移、旋转、缩放、镜像四种 变换,投影变换有平行投影(又称正交投影) 和透视投影两种变换。
相关文档
最新文档