计算机图形学实验教程 OpenGL版PDF电子书下载
- 电子书积分:10 积分如何计算积分?
- 作 者:李胜睿等编著
- 出 版 社:北京:机械工业出版社
- 出版年份:2004
- ISBN:7111152786
- 页数:228 页
1.1 5DG的Win32编程框架 4
1.1.1 定义 4
第1章 OpenGL基本要素 4
1.1.2 ResizeWindowGL()设置OpenGL绘制场景的大小 6
1.1.3 创建Win32窗口 6
1.1.4 WinMain() 14
1.1.5 Initialize() 16
1.1.6 DrawSceneGL() 17
1.1.7 Update() 17
1.1.8 DeInitialize() 18
1.2 2D图形 18
1.2.1 定义 18
1.2.2 DrawSceneGL() 18
1.2.3 疑难解答 20
1.3 阴暗处理 20
1.3.2 彩色三角形 21
1.3.1 DrawSceneGL() 21
1.3.3 单色正方形 22
1.3.4 绿色椭圆 22
1.3.5 疑难解答 22
1.4 3D图形 23
1.4.1 改窗口标题 24
1.4.2 DrawCube()绘制绿色立方体 24
1.4.3 绘制金字塔和十字架 25
1.4.4 疑难解答 26
1.5 旋转 26
1.5.1 定义控制旋转的变量 27
1.5.2 glPushMatrix()和glPopMatrix() 27
1.5.3 glRotatef()旋转坐标轴 27
1.5.4 Update()中的按键控制 28
1.6 纹理贴图 29
1.6.1 定义 29
1.5.5 疑难解答 29
1.6.2 LoadImage()载入BMP图片 30
1.6.3 LoadTexture()创建纹理 30
1.6.4 在Initialize()里载入纹理 32
1.6.5 第一个纹理矩形 32
1.6.6 纹理金字塔 33
1.7 3D建模与绘制 34
1.7.1 物体建模 34
1.7.2 定义 35
1.7.3 LoadTextureGL()创建纹理 35
1.7.4 Initialize() 36
1.7.5 香皂 36
1.7.6 香皂盒 38
1.7.7 香皂盒的开关动画控制 39
1.7.8 疑难解答 40
1.8.1 定义 41
1.8 简单的光照 41
1.8.2 设置光源属性 42
1.8.3 DrawCube()绘制长方体 42
1.8.4 使用光源 43
1.8.5 Update() 44
1.8.6 疑难解答 44
1.9.1 定义 45
1.9.2 LoadTextureGL()创建纹理 45
1.9 雾 45
1.9.3 初始化雾 46
1.9.4 三个金字塔 47
1.9.5 Update() 48
1.10 透明 48
1.10.1 定义 49
1.10.2 DrawPic()绘制平面 50
1.10.3 指定混合算子 50
1.10.4 DrawSceneGL() 51
1.10.5 Update() 51
1.11 地月系 52
1.10.6 疑难解答 52
1.11.1 定义 53
1.11.2 Initalize() 53
1.11.3 DrawSceneGL() 54
1.11.4 疑难解答 57
1.12 习题 57
第2章 光照和材质专题 58
2.1 聚光 58
2.1.1 定义 58
2.1.2 初始化光源 59
2.1.3 绘制机器人 60
2.1.4 绘制场景 61
2.1.5 按键控制 64
2.1.6 疑难解答 64
2.2 材质 64
2.2.2 Initialize() 65
2.2.1 光源和材质定义 65
2.2.3 光源的移动控制 66
2.2.4 提示信息 66
2.2.5 绘制小球 67
2.2.6 按键控制 69
2.2.7 疑难解答 70
2.3 习题 71
3.1.1 定义 72
3.1.2 建立显示表 72
3.1 显示表的应用 72
第3章 显示表专题 72
3.1.3 调用显示表 73
3.1.4 删除显示表 74
3.1.5 疑难解答 75
3.2 Bitmap和Outline字体 75
3.2.1 位图字体(BitmapFonts) 76
3.2.2 轮廓字体(Outline Fonts) 80
3.3.1 定义 81
3.3 中文字体 81
3.3.2 建立字体 82
3.3.3 删除字体 83
3.3.4 显示字体 83
3.3.5 中文的输出 85
3.3.6 疑难解答 86
3.4 习题 86
4.1.1 本工程文件 87
4.1.2 创建纹理 87
4.1 纹理导入 87
第4章 纹理专题 87
4.1.3 获取导入的图片信息 89
4.1.4 建立临时位图 90
4.1.5 TGA格式图片导入 91
4.1.6 定义(Main.cpp) 93
4.1.7 载入纹理图片 94
4.1.8 绘制主场景 95
4.1.9 纹理切分 96
4.1.10 动画控制 97
4.1.11 疑难解答 99
4.2 户外地形 100
4.2.1 工程文件构成 100
4.2.2 导入文件数据 100
4.2.3 获取高度值 101
4.2.4 绘制地形 102
4.2.6 疑难解答 104
4.2.5 绘制主场景 104
4.3 天空纹理 105
4.3.1 天空盒(Skybox) 105
4.3.2 设置纹理滤波方式 105
4.3.3 绘制天空盒 106
4.3.4 疑难解答 109
4.4 纹理特效综合 109
4.4.1 定义 110
4.4.2 建立黑色纹理(BuildBlackTexture()) 110
4.4.4 运动模糊 111
4.4.3 程序初始化 111
4.4.5 运动的隧道 114
4.4.6 绘制电影胶片 115
4.4.7 电视雪花特效 116
4.4.8 蝶形曲线和曲面 117
4.4.9 主场景绘制 118
4.5 习题 119
第5章 缓冲区专题 120
5.1 切割技术 120
5.1.1 深度测试 120
5.1.2 利用深度测试切割 121
5.1.3 使用自定义的切割面(clipping plane) 122
5.1.4 按键控制 124
5.2 透视技术 124
5.2.1 Stencil测试 124
5.2.2 透视技术 125
5.2.3 按键控制 127
6.1 gluLookAt()详解 128
6.1.1 gluLookAt()介绍 128
第6章 坐标系和视图专题 128
6.1.2 定义 129
6.1.3 Initialize() 129
6.1.4 移动Camera 130
6.1.5 坐标系及锥体绘制 131
6.1.6 总场景绘制 133
6.2.2 修改ResizeWindowGL() 134
6.2 透视投影和正射投影 134
6.2.1 定义 134
6.2.3 绘制公路路标 135
6.2.4 绘制公路和汽车 135
6.2.5 绘制视口场景 136
6.2.6 汽车引擎声音的播放 136
6.2.7 建立视口 137
6.2.8 设置正射投影 137
6.2.9 透视投影 139
6.3 阴影的实现 140
6.3.1 定义 141
6.3.2 阴影矩阵的计算 141
6.3.3 绘制投影平面 143
6.3.4 绘制十字架及阴影 143
6.3.5 绘制直升飞机及其阴影 144
6.3.6 绘制模拟光源 145
6.4 习题 146
6.3.8 疑难解答 146
6.3.7 按键控制 146
第7章 复杂物体建模专题 148
7.1 二次对象 148
7.1.1 操作二次对象流程 148
7.1.2 定义 148
7.1.3 ChangeStatus() 149
7.1.4 resetstatus() 150
7.1.7 按键控制 151
7.1.5 SetBusy() 151
7.1.6 创建二次曲面对象 151
7.1.8 场景绘制 153
7.1.9 释放空间 154
7.2 曲线和曲面 155
7.2.1 定义 155
7.2.2 Bezier曲线 156
7.2.3 Bezier曲面 157
7.2.4 NURBS对象 159
7.2.5 NURBS曲线 159
7.2.6 NURBS曲面 160
7.2.7 按键控制 161
7.3 OBJ文件载入 161
7.3.1 标准模板库 164
7.3.2 重要定义 164
7.3.3 函数声明 165
7.3.4 关键函数定义 165
7.3.5 法向量计算 168
7.3.6 初始化设置 171
7.3.7 绘制场景 171
7.3.8 释放存储空间 172
7.4 3ds文件载入 173
7.4.1 3ds文件格式简介 173
7.4.2 3ds文件导入及使用 175
7.5 习题 177
第8章 粒子系统专题 179
8.1 简单粒子系统——星云 179
8.1.1 粒子的定义 179
8.1.2 粒子系统初始化 180
8.1.3 绘制星空粒子 181
8.1.4 更新粒子属性 181
8.1.5 粒子死亡和再生 182
8.1.6 绘制星空粒子系统 182
8.2.1 Matrix01粒子系统 183
8.2 5DG'S Matrix粒子系统 183
8.1.7 疑难解答 183
8.2.2 5DG粒子系统 187
8.2.3 绘制5DG和Matrix01粒子系统 189
8.3 习题 190
第9章 高级专题 191
9.1 音频系统 191
9.1.1 链接音频库 191
9.1.2 定义 191
9.1.3 初始化音频系统 192
9.1.4 释放音频文件 193
9.1.5 初始化场景 193
9.1.6 绘制钢琴 194
9.1.7 播放控制 195
9.1.8 疑难解答 196
9.2 检选 196
9.2.2 主要函数 197
9.2.3 定义 197
9.2.1 实现检选的基本步骤 197
9.2.4 背景绘制 198
9.2.5 检选的实现 198
9.2.6 DrawObiects() 200
9.2.7 获取鼠标的屏幕坐标 202
9.2.8 转换鼠标的坐标 203
9.2.9 绘制鼠标指针 203
9.3 反馈 204
9.2.10 疑难解答 204
9.3.1 定义 205
9.3.2 插入物体标记 205
9.3.3 MakeSelection(int nChoice) 206
9.3.4 绘制物体外形方框 209
9.3.5 显示物体信息和帮助 210
9.3.6 疑难解答 211
9.4 习题 211
10.1.2 类的设计 212
10.1.1 需求 212
10.1 小飞机游戏的设计说明 212
第10章 小飞机游戏设计专题 212
10.1.3 技术要点 216
10.2 小飞机游戏的实现 217
10.2.1 模块设计 217
10.2.2 游戏的初始化 217
10.2.3 Opening 219
10.2.4 Running 219
10.2.5 Ending 221
10.2.6 DrawSceneGL() 222
10.3 习题 222
附录 224
附录A 建立5DG工程 224
A.1 使用简单的5DG框架 224
A.2 使用复杂的5DG框架 226
附录B 光盘资源说明 227
参考文献 228
- 《计算机网络与通信基础》谢雨飞,田启川编著 2019
- 《大学计算机实验指导及习题解答》曹成志,宋长龙 2019
- 《培智学校义务教育实验教科书教师教学用书 生活适应 二年级 上》人民教育出版社,课程教材研究所,特殊教育课程教材研究中心编著 2019
- 《糊涂国王摸月亮 立体图形的组合》(韩)高滋贤文 2016
- 《药剂学实验操作技术》刘芳,高森主编 2019
- 《“十三五”规划教材 中药鉴定学实验 供中药学 药学及相关专业使用 第2版》吴啟南 2018
- 《计算机辅助平面设计》吴轶博主编 2019
- 《计算机组成原理解题参考 第7版》张基温 2017
- 《云计算节能与资源调度》彭俊杰主编 2019
- 《有机化学实验》雷文 2015
- 《市政工程基础》杨岚编著 2009
- 《家畜百宝 猪、牛、羊、鸡的综合利用》山西省商业厅组织技术处编著 1959
- 《《道德经》200句》崇贤书院编著 2018
- 《高级英语阅读与听说教程》刘秀梅编著 2019
- 《计算机网络与通信基础》谢雨飞,田启川编著 2019
- 《看图自学吉他弹唱教程》陈飞编著 2019
- 《法语词汇认知联想记忆法》刘莲编著 2020
- 《培智学校义务教育实验教科书教师教学用书 生活适应 二年级 上》人民教育出版社,课程教材研究所,特殊教育课程教材研究中心编著 2019
- 《国家社科基金项目申报规范 技巧与案例 第3版 2020》文传浩,夏宇编著 2019
- 《流体力学》张扬军,彭杰,诸葛伟林编著 2019
- 《指向核心素养 北京十一学校名师教学设计 英语 七年级 上 配人教版》周志英总主编 2019
- 《北京生态环境保护》《北京环境保护丛书》编委会编著 2018
- 《高等教育双机械基础课程系列教材 高等学校教材 机械设计课程设计手册 第5版》吴宗泽,罗圣国,高志,李威 2018
- 《指向核心素养 北京十一学校名师教学设计 英语 九年级 上 配人教版》周志英总主编 2019
- 《高等院校旅游专业系列教材 旅游企业岗位培训系列教材 新编北京导游英语》杨昆,鄢莉,谭明华 2019
- 《中国十大出版家》王震,贺越明著 1991
- 《近代民营出版机构的英语函授教育 以“商务、中华、开明”函授学校为个案 1915年-1946年版》丁伟 2017
- 《新工业时代 世界级工业家张毓强和他的“新石头记”》秦朔 2019
- 《智能制造高技能人才培养规划丛书 ABB工业机器人虚拟仿真教程》(中国)工控帮教研组 2019
- 《AutoCAD机械设计实例精解 2019中文版》北京兆迪科技有限公司编著 2019