• 正版现货新书 计算机图形学编程:使用OpenGL和C++ 9787115596338 [美]V.斯科特·戈登,[美]约翰·克莱维吉
21年品牌 40万+商家 超1.5亿件商品

正版现货新书 计算机图形学编程:使用OpenGL和C++ 9787115596338 [美]V.斯科特·戈登,[美]约翰·克莱维吉

全新正版现货,以书名为准,放心购买,购书咨询18931383650朱老师

42.12 4.7折 89.8 全新

库存93件

北京丰台
认证卖家担保交易快速发货售后保障

作者[美]V.斯科特·戈登,[美]约翰·克莱维吉

出版社人民邮电出版社

ISBN9787115596338

出版时间2020-12

装帧平装

开本16开

定价89.8元

货号11846786

上书时间2024-10-08

黎明书店

十五年老店
已实名 已认证 进店 收藏店铺

   商品详情   

品相描述:全新
商品描述
作者简介
V.斯科特·戈登(V. Scott Gordon),加利福尼亚州立大学萨克拉门托分校教授,撰写及合著出版物30多部,涉及人工智能、神经网络、进化计算、计算机图形学、软件工程、视频和策略游戏编程,以及计算机科学教育等多个领域。戈登博士在科罗拉多州立大学获得博士学位。 约翰·克莱维吉(John Clevenger ),加利福尼亚州立大学萨克拉门托分校教授,拥有超过40年的教学经验,教学内容包括高级图形学、游戏架构、操作系统、VLSI芯片设计、系统仿真等主题。他是国际大学生程序设计竞赛(ICPC)的技术总监,负责监督编程竞赛支持系统PC^2的持续开发。克莱维吉博士在加州大学戴维斯分校获得博士学位。

目录
第1章 入门 1

 1.1 语言和库 1

 1.1.1 C++ 1

 1.1.2 OpenGL/GLSL 2

 1.1.3 窗口管理库 2

 1.1.4 扩展库 2

 1.1.5 数学库 3

 1.1.6 纹理图像加载库 3

 1.1.7 可选库 3

 1.2 安装和配置 3

 参考资料 4

 第2章 OpenGL 图像管线 5

 2.1 OpenGL 管线 5

 2.1.1 C++/OpenGL 应用程序 6

 2.1.2 顶点着色器和片段着色器 8

 2.1.3 曲面细分着色器 11

 2.1.4 几何着色器 11

 2.1.5 栅格化 12

 2.1.6 片段着色器 13

 2.1.7 像素操作 13

 2.2 检测 OpenGL 和 GLSL 错误 14

 2.3 从文件中读取 GLSL 源代码 16

 2.4 从顶点构建对象 17

 2.5 场景动画 18

 2.6 C++代码文件结构 19

 补充说明 20

 习题 21

 参考资料 21

 第3章 数学基础 22

 3.1 3D 坐标系统 22

 3.2 点 22

 3.3 矩阵 22

 3.4 变换矩阵 24

 3.4.1 平移矩阵 24

 3.4.2 缩放矩阵 25

 3.4.3 旋转矩阵 25

 3.5 向量 26

 3.5.1 点积的应用 27

 3.5.2 叉积的应用 28

 3.6 局部和世界空间 28

 3.7 视觉空间和合成相机 28

 3.8 投影矩阵 30

 3.8.1 透视投影矩阵 30

 3.8.2 正射投影矩阵 31

 3.9 LookAt 矩阵 32

 3.10 用来构建矩阵变换的 GLSL

 函数 32

 补充说明 33

 习题 34

 参考资料 34

 第4章 管理 3D 图形数据 35

 4.1 缓冲区和顶点属性 35

 4.2 统一变量 37

 4.3 顶点属性插值 37

 4.4 模型-视图和透视矩阵 38

 4.5 我们的第一个3D程序——一个3D立方体 39

 4.6 渲染一个对象的多个副本 45

 实例化 45

 4.7 在同一个场景中渲染多个不同模型 47

 4.8 矩阵栈 49

 4.9 应对“Z 冲突”伪影 53

 4.10 图元的其他选项 54

 4.11 性能优先的编程方法 55

 4.11.1 尽量减少动态内存空间分配 55

 4.11.2 预先计算透视矩阵 55

 4.11.3 背面剔除 56

 补充说明 58

 习题 58

 参考资料 59

 第5章 纹理贴图 60

 5.1 加载纹理图像文件 60

 5.2 纹理坐标 61

 5.3 创建纹理对象 62

 5.4 构建纹理坐标 62

 5.5 将纹理坐标载入缓冲区 63

 5.6 在着色器中使用纹理:采样器变量和纹理单元 64

 5.7 纹理贴图:示例程序 64

 5.8 多级渐远纹理贴图 66

 5.9 各向异性过滤 69

 5.10 环绕和平铺 69

 5.11 透视变形 70

 5.12 材质—更多OpenGL细节 71

 补充说明 72

 习题 72

 参考资料 72

 第6章 3D 模型 74

 6.1 程序构建模型—构建一个球体 74

 6.2 OpenGL 索引—构建一个环面 79

 6.2.1 环面 79

 6.2.2 OpenGL 中的索引 79

 6.3 加载外部构建的模型 84

 补充说明 90

 习题 90

 参考资料 90

 第7章 光照 91

 7.1 光照模型 91

 7.2 光源 91

 7.3 材质 93

 7.4 ADS 光照计算 95

 7.5 实现 ADS 光照 96

 7.5.1 Gouraud 着色(双线性光强插值法) 97

 7.5.2 Phong 着色 101

 7.6 结合光照与纹理 105

 补充说明 106

 历史记录 106

 习题 107

 参考资料 107

 第8章 阴影 108

 8.1 阴影的重要性 108

 8.2 投影阴影 108

 8.3 阴影体 109

 8.4 阴影贴图 109

 8.4.1 阴影贴图(第1 轮)——从光源位置“绘制”物体 110

 8.4.2 阴影贴图(中间步骤)——将 Z 缓冲区复制到纹理 111

 8.4.3 阴影贴图(第2 轮)——渲染带阴影的场景 111

 8.5 阴影贴图示例 113

 8.6 阴影贴图的伪影 117

 8.7 柔和阴影 119

 8.7.1 现实世界中的柔和阴影 119

 8.7.2 生成柔和阴影——百分比邻近滤波(PCF) 120

 8.7.3 柔和阴影/PCF 程序 122

 补充说明 124

 习题 124

 参考资料 125

 第9章 天空和背景 126

 9.1 天空盒 126

 9.2 穹顶 127

 9.3 实现天空盒 128

 9.3.1 从头开始构建天空盒 128

 9.3.2 使用 OpenGL 立方体贴图 131

 9.4 环境贴图 133

 补充说明 136

 习题 137

 参考资料 137

 第10章 增强表面细节 138

 10.1 凹凸贴图 138

 10.2 法线贴图 139

 10.3 高度贴图 145

 补充说明 146

 习题 147

 参考资料 147

 第11章 参数曲面 148

 11.1 二次贝塞尔曲线 148

 11.2 三次贝塞尔曲线 149

 11.3 二次贝塞尔曲面 151

 11.4 三次贝塞尔曲面 152

 补充说明 153

 习题 153

 参考资料 153

 第12章 曲面细分 154

 12.1 OpenGL 中的曲面细分 154

 12.2 贝塞尔曲面细分 158

 12.3 地形、高度图的细分 162

 12.4 控制细节级别 166

 补充说明 168

 习题 168

 参考资料 168

 第13章 几何着色器 169

 13.1 OpenGL 中的逐个图元处理 169

 13.2 修改图元 170

 13.3 删除图元 172

 13.4 添加图元 173

 13.5 更改图元类型 175

 补充说明 176

 习题 176

 参考资料 176

 第14章 其他技术 177

 14.1 雾 177

 14.2 复合、混合、透明度 178

 14.3 用户定义剪裁平面 182

 14.4 3D 纹理 183

 14.5 噪声 187

 14.6 噪声应用——大理石 190

 14.7 噪声应用——木材 193

 14.8 噪声应用——云 195

 14.9 噪声应用——特殊效果 198

 补充说明 199

 习题 200

 参考资料 200

 第15章 模拟水面 202

 15.1 游泳池表面和底部的几何设定 202

 15.2 添加水面反射和折射 205

 15.3 添加水面波浪 212

 15.4 更多修正 213

 15.5 为水的流动添加动画 216

 15.6 水下焦散 218

 补充说明 219

 习题 220

 参考资料 220

 第16章 光线追踪和计算着色器 221

 16.1 计算着色器 222

 16.1.1 编译及使用计算着色器 222

 16.1.2 计算着色器中的并行计算 222

 16.1.3 工作组 225

 16.1.4 工作组详解 225

 16.1.5 工作组的 227

 16.2 光线投射 227

 16.2.1 定义 2D 纹理图像 228

 16.2.2 构建和显示光线投射图像 228

 16.2.3 光线与球面的交点 233

 16.2.4 轴对齐的光线与立方体的交点 234

 16.2.5 无光照的简单光线投射的输出 235

 16.2.6 添加 ADS 光照 235

 16.2.7 添加阴影 237

 16.2.8 非轴对齐的光线与立方体的交点 238

 16.2.9 确定纹理坐标 239

 16.2.10 平面交点和过程纹理 244

 16.3 光线追踪 246

 16.3.1 反射 246

 16.3.2 折射 247

 16.3.3 结合反射、折射和纹理 249

 16.3.4 增加光线数 250

 16.3.5 通用解决方案 254

 16.3.6 更多示例 257

 16.3.7 透明对象的颜色混合 260

 补充说明 264

 习题 265

 参考资料 265

 第17章 3D 眼镜和 VR 头显的立体视觉 267

 17.1 双目视图和投影矩阵 268

 17.2 色差式渲染 269

 17.3 并排式渲染 270

 17.4 修正头显的镜头畸变 271

 17.5 简单的测试硬件配置 276

 补充说明 277

 习题 277

 参考资料 277

 附录 A PC(Windows)上的安装与设置 279

 A.1 安装库和开发环境 279

 A.1.1 安装开发环境 279

 A.1.2 安装 OpenGL/GLSL 279

 A.1.3 准备 GLFW 279

 A.1.4 准备 GLEW 280

 A.1.5 准备 GLM 280

 A.1.6 准备 SOIL2 280

 A.1.7 准备共享的 lib 和include 文件夹 280

 A.2 在 MS Visual Studio 中开发和部署 OpenGL 项目 281

 创建 Visual Studio 自定义项目模板 281

 参考资料 282

 附录 B Mac(macOS)平台上的安装与设置 283

 B.1 安装库和开发环境 283

 B.1.1 准备并安装依赖库 283

 B.1.2 准备开发环境 284

 B.2 修改 Mac 的 C++/OpenGL/ GLSL 应用程序代码 285

 B.2.1 修改 C++代码 285

 B.2.2 修改 GLSL 代码 286

 参考资料 287

 附录 C 使用 Nsight 图形调试器 288

 C.1 关于 NVIDIA Nsight 288

 C.2 设置 Nsight 288

 C.3 在 Nsight 中运行 C++/OpenGL

 应用程序 289

 参考资料 291

内容摘要
本书以OpenGL和C++作为工具,介绍计算机图形学编程的相关内容。全书从图形编程的基础和准备工作讲起,介绍了OpenGL图像管线、3D模型、纹理贴图、光照、阴影、天空和背景、增强表面细节、曲面细分、几何着色器、水面模拟、光线追踪等计算机图形学编程技术。本书各章配备了不同形式的习题,供读者巩固所学知识。
本书适合作为高等院校计算机科学专业的计算机图形编程课程的教材或辅导书,也适合对计算机图形编程感兴趣的读者自学。

主编推荐
元宇宙中的景色是如何搭建的?背后离不开计算机图形学的发展和成熟。 本书两位作者都是美国加利福尼亚州立大学的计算机教授,具有丰富的教学经验。 从立方体到3D模型,从水面到VR,从头实现属于你自己的景色。 ·提供模型、图像文件、纹理文件、贴图文件、图表等配套资源 ·提供教学PPT、章末习题代码以及课程大纲等教师资源

精彩内容
本书以OpenGL和C++作为工具,介绍计算机图形学编程的相关内容。全书从图形编程的基础和准备工作讲起,介绍了OpenGL图像管线、3D模型、纹理贴图、光照、阴影、天空和背景、增强表面细节、曲面细分、几何着色器、水面模拟、光线追踪等计算机图形学编程技术。本书各章配备了不同形式的习题,供读者巩固所学知识。 本书适合作为高等院校计算机科学专业的计算机图形编程课程的教材或辅导书,也适合对计算机图形编程感兴趣的读者自学。

   相关推荐   

—  没有更多了  —

以下为对购买帮助不大的评价

此功能需要访问孔网APP才能使用
暂时不用
打开孔网APP