您好,欢迎来到聚文网。 登录 免费注册
计算机图形学编程(使用OpenGL和C++)

计算机图形学编程(使用OpenGL和C++)

  • 字数: 397000
  • 装帧: 平装
  • 出版社: 人民邮电出版社
  • 作者: (美)V.斯科特·戈登(V.Scott Gordon),(美)约翰·克莱维吉(John Clevenger)
  • 出版日期: 2020-02-01
  • 商品条码: 9787115521286
  • 版次: 1
  • 开本: 16开
  • 页数: 252
  • 出版年份: 2020
定价:¥69 销售价:登录后查看价格  ¥{{selectedSku?.salePrice}} 
库存: {{selectedSku?.stock}} 库存充足
{{item.title}}:
{{its.name}}
精选
内容简介
本书以C++和OpenGL作为工具,教授计算机图形学编程。全书共14章和3个附录。
首先从图形编程的基础和准备工作开始,依次介绍了OpenGL图像管线、图形编程数学基础、管理3D图形数据、纹理贴图、3D模型、光照、阴影、天空和背景、增强表面细节、参数曲面、曲面细分、几何着色器,以及其他相关的图形编程技术。附录分别介绍了Windows、macOS平台上的安装设置,以及Nsight图形调试器的应用。本书每章最后配备了不同形式的习题,供读者巩固所学知识。
本书适合作为高等院校计算机科学专业的计算机图形编程课程的教材或辅导书,也适合对计算机图形编程感兴趣的读者自学。
目录
第1章入门1
1.1语言和库1
1.1.1C++2
1.1.2OpenGL/GLSL2
1.1.3窗口管理2
1.1.4扩展库3
1.1.5数学库3
1.1.6纹理管理3
1.1.7可选库4
1.2安装和配置4
参考资料4
第2章OpenGL图像管线5
2.1OpenGL管线5
2.1.1C++/OpenGL应用程序6
2.1.2顶点着色器和片段着色器9
2.1.3曲面细分着色器12
2.1.4几何着色器13
2.1.5光栅化14
2.1.6片段着色器15
2.1.7像素操作16
2.2检测OpenGL和GLSL错误17
2.3从文件读取GLSL源代码19
2.4从顶点构建对象20
2.5场景动画21
2.6C++代码文件结构23
补充说明24
习题24
参考资料25
第3章数学基础26
3.13D坐标系统26
3.2点26
3.3矩阵27
3.4变换矩阵29
3.4.1平移矩阵29
3.4.2缩放矩阵29
3.4.3旋转矩阵30
3.5向量31
3.5.1点积的应用32
3.5.2叉积的应用33
3.6局部和世界空间33
3.7视觉空间和合成相机34
3.8投影矩阵36
3.8.1透视投影矩阵36
3.8.2正射投影矩阵37
3.9LookAt矩阵38
3.10用来构建矩阵变换的GLSL函数39
补充说明40
习题40
参考资料41
第4章管理3D图形数据42
4.1缓冲区和顶点属性42
4.2统一变量44
4.3顶点属性插值45
4.4模型-视图和透视矩阵46
4.5我们的第一个3D程序——一个3D立方体47
4.6渲染一个对象的多个副本53
4.7在同一个场景中渲染多个不同模型57
4.8矩阵堆栈59
4.9应对“Z冲突”伪影64
4.10图元的其他选项65
4.11性能优先的编程方法66
4.11.1尽量减少动态内存空间分配66
4.11.2预先计算透视矩阵67
4.11.3背面剔除68
补充说明69
习题70
参考资料70
第5章纹理贴图71
5.1加载纹理图像文件71
5.2纹理坐标72
5.3创建纹理对象74
5.4构建纹理坐标74
5.5将纹理坐标载入缓冲区75
5.6在着色器中使用纹理:采样器变量和纹理单元76
5.7纹理贴图:示例程序77
5.8多级渐远纹理贴图79
5.9各向异性过滤83
5.10环绕和平铺84
5.11透视变形85
5.12材质——更多OpenGL细节86
补充说明86
习题87
参考资料87
第6章3D模型88
6.1程序构建模型——构建一个球体88
6.2OpenGL索引——构建一个环面94
6.2.1环面94
6.2.2OpenGL中的索引95
6.3加载外部构建的模型99
补充说明106
习题107
参考资料107
第7章光照108
7.1光照模型108
7.2光源109
7.3材质111
7.4ADS光照计算112
7.5实现ADS光照114
7.5.1Gouraud着色(双线性光强插值法)115
7.5.2Phong着色120
7.6结合光照与纹理124
补充说明126
历史记录126
习题126
参考资料127
第8章阴影128
8.1阴影的重要性128
8.2投影阴影129
8.3阴影体129
8.4阴影贴图130
8.4.1阴影贴图(第1轮)——从光源位置“绘制”物体131
8.4.2阴影贴图(中间步骤)——将Z缓冲区复制到纹理132
8.4.3阴影贴图(第2轮)——渲染带阴影的场景132
8.5阴影贴图示例135
8.6阴影贴图的伪影139
8.7柔和阴影142
8.7.1现实世界中的柔和阴影142
8.7.2生成柔和阴影——百分比邻近滤波(PCF)143
8.7.3柔和阴影/PCF程序146
补充说明148
习题148
参考资料149
第9章天空和背景150
9.1天空盒150
9.2天空穹顶152
9.3实现天空盒153
9.3.1从头开始构建天空盒153
9.3.2使用OpenGL立方体贴图156
9.4环境贴图158
补充说明161
习题162
参考资料163
第10章增强表面细节164
10.1凹凸贴图164
10.2法线贴图166
10.3高度贴图172
补充说明174
习题175
参考资料175
第11章参数曲面176
11.1二次贝塞尔曲线176
11.2三次贝塞尔曲线177
11.3二次贝塞尔曲面180
11.4三次贝塞尔曲面181
补充说明183
习题183
参考资料183
第12章曲面细分184
12.1OpenGL中的曲面细分184
12.2贝塞尔曲面细分188
12.3地形、高度图的细分193
12.4控制细节级别(LOD)198
补充说明200
习题201
参考资料201
第13章几何着色器202
13.1OpenGL中的逐个图元处理202
13.2修改图元203
13.3删除图元206
13.4添加图元207
13.5更改图元类型209
补充说明211
习题211
参考资料211
第14章其他技术212
14.1雾212
14.2复合、混合、透明度213
14.3用户定义剪裁平面218
14.43D纹理219
14.5噪声223
14.6噪声应用——大理石227
14.7噪声应用——木材230
14.8噪声应用——云233
14.9噪声应用——特殊效果236
补充说明238
习题238
参考资料239
附录APC(Windows)上的安装与设置240
A.1安装库和开发环境240
A.1.1安装开发环境240
A.1.2安装OpenGL/
GLSL240
A.1.3准备GLFW240
A.1.4准备GLEW241
A.1.5准备GLM241
A.1.6准备SOIL2241
A.1.7准备共享的“lib”和“include”文件夹241
A.2在MSVisualStudio中开发和部署OpenGL项目242
参考资料243
附录BMacintosh(macOS)平台上的安装与设置244
B.1安装库和开发环境244
B.1.1准备并安装依赖库244
B.1.2准备开发环境245
B.2修改Mac的C++/OpenGL/GLSL应用程序代码246
B.2.1修改C++代码247
B.2.2修改GLSL代码247
B.2.3补充说明248
参考资料248
附录C使用Nsight图形调试器249
C.1关于NVIDIANsight249
C.2设置Nsight249
C.3在Nsight中运行C++/OpenGL应用程序250
参考资料252

蜀ICP备2024047804号

Copyright 版权所有 © jvwen.com 聚文网