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

OpenGL复习 考试题型 选择 填空 判断 程序题(读和写) 主要考察内容 利用OpenGL开发三维图形程序的基本过程和具体内容(见提纲各章) 对OpenGL API函数的掌握程度(要求见提纲末章) 熟练利用OpenGL API编写基本、完整和正确三维图形程序的能力 绪论 二维编程基础 交互和动画 几何变换和三维编程基础 光照与材质 离散图元 纹理映射 绪论 重点内容 计算机如何实现三维图形显示? 1.图形与图像的关系 图形:由场景的几何模型和景物的物理属性共同组成,更强调场景的几何表示 。 图像:计算机内以位图形式存在的灰度信息 2.2D屏幕上如何产生和增强3D效果? 产生3D效果:透视——透视缩短或者视角 增强3D效果: 不可见面消除 颜色和着色 光照和阴影 纹理贴图 雾 混合和透明 抗锯齿(多重采样) … 什么是OpenGL? OpenGL的三种常见定义及其含义 开放的图形程序库(Open Graphics Library) 1.图形软件工具包—— OpenGL由SGI的IRIS GL发展而来; 2. “开放” ——可移植性(跨平台、跨语言) 图形应用程序编程接口(图形API) 1图形接口与实现分离; 2. 由OpenGL ARB制定OpenGL API标准; 3. 允许程序员开发包含交互式计算机图形操作的应用,而不必关注图形操作细节或任务系统细节(比如窗口处理和交互) 图形硬件的软件接口 1.OpenGL非常接近于底层硬件,OpenGL的应用程序运行效率高; 2. 作为标准的图形软件接口,OpenGL屏蔽了与不同图形硬件交互的复杂性,易于掌握和使用。 OpenGL的工作方式 状态机 想一想已学的哪些对象是OpenGL状态?\ 顶点位置,颜色、纹理坐标、源因子和目标因子、光源的各种参数,等等,这些都是状态 此外,“是否启用了光照”、“是否启用了纹理”、“是否启用了混合”、“是否启用了深度测试”等等,这些也都是状态 OpenGL的版本和扩展 OpenGL核心库(GL库)、OpenGL实用库(GLU库)及OpenGL实用工具包 (GLUT库)的功能和区别(即OpenGL能做什么,不能做什么) OpenGL核心库(GL库):函数以“gl”为前缀;主要功能包括三维物体描述、平移、旋转、缩放、光照、纹理、材质、像素、位图、文字处理等;OpenGL 提供的所有功能都可以使用核心库函数来实现,并且对于不同的软件和硬件平台,这些函数的使用完全相同。 OpenGL实用库(GLU库):函数以“glu”为前缀;主要功能包括绘制二次曲面、NURBS曲线曲面、复杂多边形以及纹理、矩阵管理等;实用库中的所有函数全都使用OpenGL核心库函数来编写的,因此在使用上和OpenGL核心库的使用是完全相同的。 OpenGL实用工具包 (GLUT库):函数以“glut”为前缀主要功能包括窗口创建与管理、用户交互(鼠标、键盘等),并;GLUT库独立于操作系统和窗口系统。 OpenGL核心库(GL库) 三维物体描述和操作(平移、旋转、缩放、光照、纹理、材质) 像素、位图、文字处理 OpenGL实用库(GLU库) 曲线曲面,复杂多边形 纹理、矩阵管理 OpenGL实用工具包 (GLUT库) 窗口(创建与管理) 交互(鼠标、键盘等)) 提供一种基于事件驱动的窗口程序运行架构 认识OpenGL API——编程规范 常量和变量定义 函数名约定 常量:GL_COLOR_BUFFER_BIT, GL_POLYGON, … 变量类型:GLint, GLshort, GLfloat, GLdouble, … 想一想我们已学到的OpenGL主要函数分别属于哪个库? 第二章 二维图形编程 基于GLUT的OpenGL应用程序基本结构 主函数框架结构(main()) 初始化GLUT 配置和创建窗口 注册窗口和用户输入事件处理函数 显示(绘制、重绘) 窗口大小变化 输入: 键盘,鼠标,… 初始化OpenGL状态机 进入事件处理循环 各事件处理函数的意义和使用方法(即OpenGL与各事件处理函数的关系) 1.初始化GLUT库,并且处理命令行启动变量; void glutInit (int* argcp, char** argv); 忽略GLUT无法识别的启动参数; 常见启动参数:-geometry WxH+X+Y、-iconic、… 程序启动例子: simple.exe -geometry 500x500+100+100 simple.exe -iconic 配置和创建窗口 设定窗口显示模式 void glutInitDisplayMode (unsigned int mode); mode - GLUT_RGBA, GLUT_RGB, GLUT_INDEX,

文档评论(0)

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

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

版权声明书
用户编号:5212202040000002

1亿VIP精品文档

相关文档