计算机图形学基础与应用——基于WebGL

985院校名师(基于WebGL)精心打造“计算机图形学”精品教材,提供作品展示平台,配套多类教辅资源,服务院校实践教学。
分享 推荐 2 收藏 68 阅读 2.7K
匡平 , 何明耘 , 李凡 (作者) 978-7-115-60237-4

关于本书的内容有任何问题,请联系 人邮社 王宣

1.系统构建知识体系,紧跟领域技术发展。
本书以管线为骨架,通过深层次地融合相关领域的知识,精简固定管线中较为陈旧的内容,提纲性地建立了计算机图形学的知识体系;同时,加大对现有可编程管线模型及真实感绘制相关技术与算法的讲解力度,让读者在了解基础知识体系的基础上,能够紧跟领域技术发展,进而培养“用发展的眼光看专业技术”的思维。
2.融入丰富编程实例,培养读者实战技能。
本书从计算机图形软件开发到 WebGL 编程的相关部分,通过细致地讲解编程技术,帮助读者培养 WebGL 编程的基本能力;在此基础上,分别针对各章的知识点及相关理论的算法,给出大量对应的 WebGL 编程实例,以对相关理论的算法进行应用分析,进而帮助读者培养过硬的 WebGL 编程实战技能。
3.搭建作品展示平台,服务师生实践应用。
为了便于读者对学习效果进行检验,同时协助高校教师更好地开展实践教学工作,本书编者团队借助“互联网+”技术,创造性地搭建了“计算机图形学实验”平台。该平台不仅支持读者上传并调试作品代码,而且支持读者进行作品的三维交互展示等,能为院校教师检测教学效果提供便利的途径。院校师生可以通过人邮教育社区(www.ryjiaoyu.com)获取该平台的网址。
4.配套多类型教辅资源,系统化服务教师教学。
为了更好地帮助高等院校教师开展计算机图形学课程的教学工作,编者为本书配备了PPT、教学大纲、教案、源代码、课后习题答案、实验大纲等教辅资源,用书教师可以通过人邮教育社区进行下载。此外,编者还组建了针对计算机图形学课程的教师服务与交流群,以方便授课教师进行教学心得体会分享、教学实际问题讨论、实验开展方式交流等。

特别说明

高校师生可以登录“学生作品展示平台”下载更多与图形WebGL编程相关的程序资源,开展“计算机图形学基础与应用”课程的教学工作或学习工作。
平台网址:http://139.9.239.170/CGAssignment/

内容摘要

计算机图形学是研究利用计算机进行图形绘制的科学,其主要研究内容为利用计算机实现将三维模型投影到平面的方法。本书首先搭建基本的计算机图形学知识体系,然后在此基础上,围绕GPU管线的处理结构分析管线各个阶段的实现算法;同时介绍WebGL在编程方面的应用,使读者不仅能够掌握图形应用软件的编程方法,还能明白计算机图形学的基本原理。
编者在本书中融入了大量实例的源代码,可以为读者应用不同的理论知识进行实践提供参考。此外,与本书配套的“计算机图形学实验”平台上不仅展示了多个实验下多位学生的三维交互作品,以供院校师生参考学习,而且支持读者注册并使用该平台,进行代码上传与调试及作品展示等,这可以极大程度地提升读者的实战技能。
本书可作为高等院校计算机、数字媒体、软件工程等相关专业的教材,也可供图形应用领域的技术人员学习使用,还可作为图形研究人员的参考用书。

目录

【章名目录】

【第1篇】基础篇
第1章 概述 2
第2章 图形处理管线 14
第3章 WebGL编程 34
第4章 光栅式图形系统 62
第5章 变换 81
第6章 三维模型表示 116
第7章 简单光照模型 149

【第2篇】应用篇
第8章 WebGL高级应用 161
第9章 全局光照 182
第10章 实时物理渲染与非真实感绘制 202


【详细目录】
第1篇 基础篇

第1章 概述 2
1.1 计算机图形学相关课程 2
1.2 计算机图形学的发展 3
1.3 计算机图形系统 3
1.3.1 光栅扫描显示 4
1.3.2 图形处理单元架构 6
1.4 计算机图形软件 9
1.4.1 Direct3D和OpenGL概述 9
1.4.2 WebGL概述 10
1.4.3 WebXR概述 11
1.5 本章小结 13
习题 13

第2章 图形处理管线 14
2.1 GPU与CPU的区别 14
2.1.1 计算机绘制概述 15
2.1.2 成像原理 15
2.2 固定管线流程 16
2.2.1 处理流程 16
2.2.2 模型表达与绘制 17
2.2.3 管线架构 19
2.3 可编程管线 20
2.3.1 可编程管线的基本概念 20
2.3.2 着色器程序 22
2.3.3 管线中的数据流 23
2.4 buffer编程 25
2.4.1 帧缓存 25
2.4.2 深度缓存 26
2.4.3 模板缓存 27
2.4.4 PBO与FBO 28
2.4.5 纹理buffer 30
2.5 本章小结 32
习题 33

第3章 WebGL编程 34
3.1 搭建开发平台 34
3.1.1 Three.js简介 34
3.1.2 Three.js的环境配置 35
3.1.3 搭建Web服务器 35
3.1.4 创建第 一个Three.js实例 36
3.2 JavaScript基础 37
3.2.1 核心语句和语法 38
3.2.2 对象和数组 40
3.2.3 在网页中嵌入JavaScript代码 41
3.2.4 与网页进行交互 42
3.3 场景搭建 44
3.3.1 画布设置 44
3.3.2 对象设置 45
3.3.3 相机设置 47
3.3.4 交互设置 48
3.4 坐标系与观察变换 51
3.4.1 场景坐标系与图像结果坐标系 51
3.4.2 观察变换 52
3.5 Three.js基本程序框架 54
3.6 本章小结 60
习题 60

第4章 光栅式图形系统 62
4.1 线段光栅化 62
4.1.1 Bresenham算法 63
4.1.2 曲线光栅化方法 65
4.2 字符光栅化 66
4.3 反走样技术 67
4.4 多边形填充技术 68
4.4.1 内外测试 68
4.4.2 扫描线多边形填充算法 69
4.4.3 其他填充方法 71
4.5 纹理技术 72
4.5.1 纹理坐标 72
4.5.2 GLSL纹理贴图 72
4.5.3 纹理上下文 74
4.5.4 过程纹理 74
4.5.5 凹凸贴图 77
4.6 WebGL实例分析 79
4.7 本章小结 80
习题 80

第5章 变换 81
5.1 数学基础 81
5.1.1 向量 81
5.1.2 矩阵 83
5.1.3 齐次坐标 85
5.2 二维几何变换 85
5.2.1 矩阵表达 85
5.2.2 复合变换矩阵的构造 87
5.3 三维几何变换 90
5.3.1 矩阵表达 90
5.3.2 复合变换矩阵的构造 91
5.3.2 四元数 93
5.4 投影变换 95
5.4.1 平行投影 95
5.4.2 透视投影 98
5.5 裁剪技术 101
5.5.1 线段裁剪 101
5.5.2 多边形裁剪 105
5.5.3 三维裁剪 107
5.6 实例分析 109
5.6.1 基本概念 109
5.6.2 基本矩阵函数 109
5.6.3 旋转、平移和缩放 110
5.6.4 绕任意点的旋转 110
5.6.5 三维模型示例 111
5.7 本章小结 114
习题 114

第6章 三维模型表示 116
6.1 多边形网格表示 116
6.1.1 基本概念 117
6.1.2 多边形网格的数据结构 117
6.1.3 三角化算法 122
6.1.4 网格简化 124
6.2 参数曲面表示 127
6.2.1 Bézier曲线 127
6.2.2 Bézier曲面 131
6.2.3 B样条曲线 134
6.2.4 B样条曲面 139
6.3 细分表示 141
6.3.1 四边形网格细分的Catmull-Clark方法 142
6.3.2 三角形网格细分的Loop方法 142
6.4 其他表示 143
6.4.1 点表示 143
6.4.2 实体表示 144
6.5 实例分析 145
6.6 本章小结 147
习题 147

第7章 简单光照模型 149
7.1 光反射作用的组成部分 149
7.1.1 环境光 149
7.1.2 漫反射光 150
7.1.3 镜面反射光 151
7.2 简单光照模型 152
7.2.1 Phong模型 152
7.2.2 明暗处理方法 153
7.3 实例分析 156
7.4 本章小结 158
习题 158

第2篇 应用篇

第8章 WebGL高级应用 161
8.1 Shader基础 161
8.1.1 WebGL高级渲染 161
8.1.2 Shader简介 162
8.2 Shader程序 169
8.2.1 内置变量与函数 169
8.2.2 示例说明 172
8.2.3 Three.js中的Shader材质 178
8.3 本章小结 181
习题 181

第9章 全局光照 182
9.1 全局光照简介 182
9.1.1 基本概念 183
9.1.2 环境光遮蔽 185
9.1.3 渲染方程 185
9.2 光线跟踪算法 187
9.2.1 光线跟踪算法原理 187
9.2.2 算法核心步骤 188
9.2.3 算法实现细节 190
9.2.4 算法改进 195
9.3 辐射度算法 196
9.3.1 辐射度算法原理 196
9.3.2 辐射度方程 196
9.3.3 求解辐射度方程 197
9.3.4 计算排列因子 198
9.3.5 实现辐射度算法 200
9.4 本章小结 201
习题 201

第10章 实时物理渲染与非真实感绘制 202
10.1 实时物理渲染 202
10.1.1 PBR技术 202
10.1.2 BRDF模型技术 208
10.1.3 WebGL材质实例分析 213
10.2 非真实感渲染 215
10.2.1 概述 215
10.2.2 分类 216
10.2.3 卡通渲染 217
10.2.4 其他风格的NPR渲染 222
10.3 本章小结 223
习题 223

参考文献 224

读者评论

赶紧抢沙发哦!

我要评论

作者介绍

匡平:
博士,电子科技大学计算机科学与工程学院副教授,主要从事图像处理、人工智能和模式识别等领域的研究与教学工作,主持国家及省部级科研项目20余项,以第一作者发表SCI/EI论文20 余篇,获四川省科技进步奖三等奖2项(排名第一)、国家发明专利8项,著有《汇编语言程序设计》等教材。

相关文章

  • 新书速递 | 人邮教育本周上市9本图书,大家快来了解下吧~

    2023年2月第1周,人邮教育上市9本新书,涵盖计算机类、经管类及通识课类3大方向。由北师大心理学部夏翠翠老师编写的《大学生心理健康教育教师用书》也在本周正式上市了!大家快跟小编一起了解下新书吧,点击图书封面可以查看目录、配套资源、在线试读,高校教师可以识别上方二维码免费申请教材样书! - 01 - 计/算/机/类/新/书 数据结构(C语言 微课版)——从概念到算法...

    947 0 0 2

推荐用户

相关图书

人邮微信
本地服务
人邮微信
教师服务
二维码
读者服务
读者服务
返回顶部
返回顶部