[教育]第五章 图形标准.ppt

  1. 1、本文档共49页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
[教育]第五章 图形标准

北京大学计算机系图形研究室 第五章 图形标准 Open GL 5.1 Open GL Open GL概述 Open GL是一个功能强大的图形库,用户可以方便地利用它开发出有多种特殊视觉效果(光照,纹理,透明,阴影等)的三维图形. SGI公司有针对性的对GL进行了改进,扩展了它的可移植性,成为一个跨平台的开放式图形编程接口. Open GL是应用最广泛的二维和三维图形编程接口. 5.1 Open GL OpenGL Example 5.1 Open GL(概述) Open GL的特点 从程序员的角度看,Open GL是一组绘图命令的API集合. Open GL的特点: 应用广泛 跨平台 高质量和高性能 出色的编程特性 网络透明性 5.1 Open GL (概述) 对于图形硬件的软件接口. OpenGL 是图形API 提供了低端函数来直接访问图形硬件. 5.1 Open GL (概述) OpenGL 基本库 (machine independent) 主要功能包括:物体描述,平移,旋转,缩放,光照,纹理,材质,象素,位图,文字处理等. OpenGL 实用库(GLU) 提供 一些建模特性,利用较低层OpenGL命令编写一些执行特殊任务的例程, 包括:绘制二次曲面,NURBS 曲线和曲面,复杂多边形以及纹理映射,坐标变换,矩阵管理等. 5.1 Open GL (概述) OpenGL 实用工具包 (GLUT) (machine dependent) GLUT 是独立于窗口系统的工具包,隐藏了不同窗口系统API的复杂特性,是窗口系统和操作系统的接口 方便的提供基本简单图形 (圆环面, 茶壶,立方体) 5.1 Open GL (概述) 其他与Open GL有关的库 OpenGL的WGL是Win32为支持OpenGL而设计的一套编程接口. OpenGL的X Windows系统扩充(GLX) 在使用X Windows系统的机器上,提供一种建立OpenGL现场,并把它与可绘窗口关联起来的方法. OpenGL Programming Guide辅助库(Auxiliary 库) 建立了一系列简单而又完整的编程例子.例如,初始化窗口,监控输入,以及绘制一些三维几何体等函数. 5.1 Open GL (概述) Open GL的工作顺序 从定义几何要素到把象素段写入帧缓冲区的过程. 构造几何要素(点,线,多边形,图像等),创建对象的数学描述;在三维空间上放置对象,选择合适的场景观察点. 计算对象的颜色,可以直接定义,或由光照条件和纹理间接给出. 光栅化,把对象的数学描述和颜色信息转换到屏幕的象素. GLUT基本安装 在 Microsoft Visual C++ 6.0: 放 glut.h 到 MSVC/include/GL/ 放glut.lib 到MSVC/lib/ 放glut32.dll 到 window/System32/ 编译 创建新工程 Win32 Console Application 打开Project Settings 对话框,添加 opengl32.lib glu32.lib glut32.lib 到 Link/Objects/library 模块. 编写 OpenGL代码. 基本语法 基本函数均使用 gl 作为函数名前缀(e.g., glColor(), glBegin(), glPolygonMode()) 实用函数则使用 glu作为函数名前缀 (e.g., gluLookAt()) 实用工具包函数使用 glut作为函数名前缀 (e.g., glutInitDisplayMode, glutCreateWindow, glutDisplayFunc) 与窗口系统接口的函数使用glx作为函数名前缀 基本常量使用 GL开头,实用常量使用GLU开头, (e.g., GLUT_SINGLE, GLUT_RGB ) 基本语法 函数名指明参数类型和数目 以 f 结尾表示获得 float类型 以i结尾表示获得 int类型 以b结尾表示获得 byte类型 以ub结尾表示获得 unsigned byte类型 以v结尾表示获得数组类型. 例如 glColor3f()表示获得 3个 floats glColor4fv()表示获得 一个 4个 floats的数组 Data types GLbyte, GLfloat, … 状态机制 Open GL的工作方式是一种状态机.状态机的含义是:Open GL各种执行的命令是在某种状态或模式下进行的,这些状态或模式一直有效地保持到改变它们之后. 状态机制: 隐含全

文档评论(0)

jiupshaieuk12 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:6212135231000003

1亿VIP精品文档

相关文档