- 1、本文档共45页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
河南理工大学计算机图形学2章-2图形系统详解
第2 章 计算机图形系统 系统的结构:合理的层次结构和模块结构。 目 的:设计容易、维护方便,便于扩充和移植。 2 设备环境类(DC ) 1)设备环境(Device Context,DC),又称设备描述表或设备上下文,是一种Windows的数据结构。 ★该结构中保存绘图操作中使用的重要属性参数、与图形输出设备的绘制属性有关的信息; ★在编程中,所有绘图操作都是通过设备环境进行的; ★可向屏幕、打印机、图形文件或内存位图输出结果。 屏幕坐标系统 1. 设备坐标系统 x轴自左至右,y轴从上到下,坐标原点在屏幕左上角 2. 逻辑坐标系统 坐标为自下而上,坐标原点在屏幕左下角 1 概述 1)OpenGL是在SGI(Silicon Graphics 硅图)等多家世界闻名的计算机公司的倡导下,以SGI的GL三维图形库为基础制定的一个通用共享的开放式三维图形标准。 2)目前,包括Microsoft、SGI、IBM、SUN、HP等大公司都采用了OpenGL做为三维图形标准,许多软件厂商也纷纷以OpenGL为基础开发出自己的产品。 3)其中比较著名的产品包括:动画制作软件Softimage和3D Studio MAX、仿真软件Open Inventor、VR软件World Tool Kit、CAM软件ProEngineer、GIS软件ARC/INFO等等。 4)独立于窗口系统和操作系统 以它为基础开发的应用程序可以十分方便地在各种平台间移植 5) 可与Visual C++紧密接口 便于实现机械手的有关计算和图形算法,可保证算法的正确性和可靠性; 6)使用简便,效率高 2 OpenGL的主要功能 1)绘制模型:图形库提供基本几何图形,可绘制需要的三维模型; 2)变换模型:图形库提供了基本变换和投影变换两种变换模型; 3)着色模式:提供两种颜色显示方式,RGBA模式和颜色索引方式。 4)光照处理:提供了环境光、漫反射光和镜面光等的光照模型。 5)纹理映射:能将真实感的纹理粘贴在物体表面,使其逼真生动。 6)位图和图像:提供了一系列函数来实现位图和图像的操作。且位 图和图像数据可以在屏幕和内存间进行传递。 7)制作动画:提供了双缓存技术来实现动画绘制。 8)选择和反馈:为支持交互式程序设计选择操作模式和反馈模式。 9)反走样技术,能够实现深度暗示、运动模糊和雾化等特殊效果。 3 OpenGL的绘制流程和原理 4 OpenGL函数 1)OpenGL核心库(GL) 这部分函数用于常规的、核心的图形处理,是OpenGL的核心部分 包含300多个函数,函数名前缀一律是“gl” Windows平台上 头文件“GL.H” 库文件“OPENGL32.LIB” 动态链接库“OPENGL32.DLL” 核心库可以在所有的OpenGL平台上运行 2)OpenGL实用库(GLU) 这部分函数通过调用核心库的函数,为开发者提供相对简单的用法,实现一些较为复杂的操作。如:坐标变换、纹理映射、绘制椭球、茶壶等简单多边形 包含约50个函数,函数名前缀一律是“glu” Windows平台上 头文件“GLU.H” 库文件“GLU32.LIB” 动态链接库“GLU32.DLL” 实用库可以在所有的OpenGL平台上运行 3)OpenGL辅助库(GLAUX) 这部分函数提供窗口管理、输入输出处理以及绘制一些简单三维物体 包含约30个函数,函数名前缀一律是“aux” Windows平台上 头文件“GLAUX.H” 库文件“GLAUX.LIB” 动态链接库“GLAUX.DLL” OpenGL中的辅助库不能在所有的OpenGL平台上运行 4)OpenGL工具库(GLUT) 由Mark Kilgard开发 这部分函数主要提供基于窗口的工具,以及一些绘制较复杂物体的函数 包含大约30多个函数,函数名前缀为“glut” 文件 头文件“GLUT.H” 库文件“GLUT32.LIB” 动态链接库“GLUT32.DLL” glut中的窗口管理函数不依赖于运行环境的,可以在所有的OpenGL平台上运行 5)WGL库:OpenGL对窗口系统的扩展 对于各类窗口系统,OpenGL都提供了一个扩展库 对于Windows系统,OpenGL提供WGL库 并不是所有的函数前缀都是“wgl” 用于连接OpenGL和Windows,在Windows平台上设置OpenGL环境 头文件、库文件和动态链接库都和Windows GDI一样,由Windows底层提供,头文件是“WINGDI.H” 只能在Windows平台上运行 5 OpenGL函数格式 函数格式示例:定义点函数 6 函数库的使用方式 包含各个
文档评论(0)