OpenGL图形编程1介绍(陈永强)【荐】.ppt
文本预览下载声明
课程学时安排 总学时:32 理论学时:16 实验学时:16 结业要求 实验完成时间 第8周理论课结束 实验报告上交时间 16周周2上午3-4节最后一次课 实验报告形式 电子版文件夹,含源程序和DOC实验报告 分数构成 演示程序 30% 实验报告 30% 回答问题 20% 平时考勤 20% 红皮书Red Book 蓝皮书Blue Book 1.1OpenGL的主要功能 模型观察 在建立了三维景物模型后,就需要用 OpenGL 描述如何观察所建立的三维模型。观察三 维模型是通过一系列的坐标变换进行的。模型的坐标变换在使观察者能够在视点位置观察与 视点相适应的三维模型景观。在整个三维模型的观察过程中,投影变换的类型决定观察三维 模型的观察方式,不同的投影变换得到的三维模型的景象也是不同的。最后的视窗变换则对模型的景象进行裁剪缩放,即决定整个三维模型在屏幕上的图象。 1.1OpenGL的主要功能 颜色模式 OpenGL 应用了一些专门的函数来指定三维模型的颜色。程序开发者可以选择二个颜色 模式,即 RGBA 模式和颜色表模式。在 RGBA 模式中,颜色直接由 RGB 值来指定;在颜色表模式中,颜色值则由颜色表中的一个颜色索引值来指定。开发者还可以选择平面着色和光滑着色二种着色方式对整个三维景观进行着色。 1.1OpenGL的主要功能 光照应用 用 OpenGL 绘制的三维模型必须加上光照才能更加与客观物体相似。OpenGL 提供了管 理四种光(辐射光、环境光、镜面光和漫射光)的方法,另外还可以指定模型表面的反射特性。 1.1OpenGL的主要功能 图象效果增强 OpenGL 提供了一系列的增强三维景观的图象效果的函数,这些函数通过反走样、混合和雾化来增强图象的效果。反走样用于改善图象中线段图形的锯齿而更平滑,混合用于处理 模型的半透明效果,雾使得影像从视点到远处逐渐褪色,更接近于真实。 1.1OpenGL的主要功能 位图和图像处理 OpenGL 还提供了专门对位图和图象进行操作的函数。 1.1OpenGL的主要功能 纹理映射 三维景物因缺少景物的具体细节而显得不够真实,为了更加逼真地表现三维景物,OpenGL 提供了纹理映射的功能。OpenGL 提供的一系列纹理映射函数使得开发者可以十分方便地把真实图象贴到景物的多边形上,从而可以在视窗内绘制逼真的三维景观。 1.1OpenGL的主要功能 实时动画 为了获得平滑的动画效果,需要先在内存中生成下一幅图象,然后把已经生成的图象从内存拷贝到屏幕上,这就是 OpenGL 的双缓存技术(double buffer)。OpenGL 提供了双缓存技术的一系列函数。 1.2OpenGL工作方式 体系结构 OpenGL 是一套图形标准,严格按照计算机图形学原理设计而成,符合光学和视觉原理,非常适合可视化仿真系统。 OpenGL 是一种 API,其中不包含任何窗口管理、用户交互或文件 I/O 函数。每个主机环境(如 Microsoft Windows)在这些方面都有自己的函数,由这些函数负责实现某些方法,以便把窗口或位图的绘制控制权移交给 OpenGL。 1.2OpenGL工作方式 状态机 OpenGL 是一种直接模式的API,每条命令根据当前的渲染状态都会产生某种立即效果。渲染状态是各种标记,指出哪些特性是打开的,哪些是关闭的,以及应该如何应用。 在 OpenGL中,使用 glEnable 函数和 glDisable 函数来启用和禁用渲染特征。 1.3OpenGL操作步骤 在 OpenGL 中进行的图形操作直至在计算机屏幕上渲染绘制出三维图形景观的基本步骤如下: 1. 根据基本图形单元建立景物模型,得到景物模型的数学描述(OpenGL 中把点、线、 多边形、图像和位图都作为基本图形单元); 2. 把景物模型放在三维空间中的合适的位置,并且设置视点(Viewpoint)以观察所感兴趣的景观; 1.3OpenGL操作步骤 3. 计算模型中所有物体的色彩,同时确定光照条件、纹理粘贴方式等; 4. 把景物模型的数学描述及其色彩信息转换至计算机屏幕上的像素,这个过程也就是光栅化(rasterization )。 在这些步骤的执行过程中,OpenGL 可能执行其他的一些操作,例如自动消隐处理等。 另外,景物光栅化之后被送入帧缓冲器之前还可以根据需要对象素数据进行操作。 1.4OpenGL基本语法 组成 OpenGL核心库:gl OpenGL实用程序库: glu OpenGL编程辅助库:aux OpenGL实用程序工具包(OpenGL ut
显示全部