- 1、本文档共94页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 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,
您可能关注的文档
- JavaScript流程控制语句.doc
- J生产工具-优化生产.ppt
- KAGA 监査指摘记录.xls
- klseis软件应用(部分).ppt
- Kuang Zhong-黔西南地区遥感构造与金矿的关系及找矿预测.pdf
- L-阿拉伯糖与糖尿病.ppt
- LED微型投影机技术综述.doc
- LED智能球泡原理详解及安装方法.doc
- LEED和绿色建筑的设计方法.pdf
- matlab仿真——单相桥式全控整流电路.doc
- wipo-2022年技术与创新支持中心和技术转让办公室报告 - 加强地方创新能力以加速知识和技术转让.docx
- 中文大模型基准测评2024年10月报告-2024年度中文大模型阶段性进展评估.docx
- 2024年三季度宏观经济分析报告.docx
- 【深交所】红日药业:2024年一季度报告.docx
- Acc智能制造与卓越运营业务体系设计咨询方案.docx
- 第六代固定通信网(F6G)白皮书V2.0——天地一体化光通信技术.docx
- 提升效益 持盈保泰-摩根大通2024年中国运营资金指数报告-摩根大通.docx
- 新时代低空休闲发展研究-中国旅游协会休闲度假分会.docx
- 标普信评 -保障房怎么搞?--新加坡模式的借鉴与启发 202409.docx
- 标普信评 -一文看懂电力行业信用趋势:风光发电杠杆或持续上升 202409.docx
文档评论(0)