展开全部

主编推荐语

C++与OpenGL 3D编程技术,适用多平台,实战GLSL。

内容简介

本书按部就班地介绍C++和OpenGL的3D图形学编程技术,包含了OpenGL 4.0+shader技能,适用于Windows和Mac多种平台。通过完全可以运行的代码来讲解所有的知识,还有针对GLSL编程管道的详细介绍和案例。

目录

  • 版权信息
  • 内容提要
  • 前言
  • 目标读者
  • 如何使用本书
  • 配套资源
  • 教师辅助
  • 致谢
  • 勘误
  • 参考资料
  • 作者简介
  • 资源与支持
  • 配套资源
  • 提交勘误
  • 与我们联系
  • 关于异步社区和异步图书
  • 第1章 入门
  • 1.1 语言和库
  • 1.1.1 C++
  • 1.1.2 OpenGL / GLSL
  • 1.1.3 窗口管理
  • 1.1.4 扩展库
  • 1.1.5 数学库
  • 1.1.6 纹理管理
  • 1.1.7 可选库
  • 1.2 安装和配置
  • 第2章 OpenGL图像管线
  • 2.1 OpenGL管线
  • 2.1.1 C++/OpenGL应用程序
  • 2.1.2 顶点着色器和片段着色器
  • 2.1.3 曲面细分着色器
  • 2.1.4 几何着色器
  • 2.1.5 光栅化
  • 2.1.6 片段着色器
  • 2.1.7 像素操作
  • 2.2 检测OpenGL和GLSL错误
  • 2.3 从文件读取GLSL源代码
  • 2.4 从顶点构建对象
  • 2.5 场景动画
  • 2.6 C++代码文件结构
  • 补充说明
  • 习题
  • 参考资料
  • 第3章 数学基础
  • 3.1 3D坐标系统
  • 3.2 点
  • 3.3 矩阵
  • 3.4 变换矩阵
  • 3.4.1 平移矩阵
  • 3.4.2 缩放矩阵
  • 3.4.3 旋转矩阵
  • 3.5 向量
  • 3.5.1 点积的应用
  • 3.5.2 叉积的应用
  • 3.6 局部和世界空间
  • 3.7 视觉空间和合成相机
  • 3.8 投影矩阵
  • 3.8.1 透视投影矩阵
  • 3.8.2 正射投影矩阵
  • 3.9 LookAt矩阵
  • 3.10 用来构建矩阵变换的GLSL函数
  • 补充说明
  • 习题
  • 第4章 管理3D图形数据
  • 4.1 缓冲区和顶点属性
  • 4.2 统一变量
  • 4.3 顶点属性插值
  • 4.4 模型-视图和透视矩阵
  • 4.5 我们的第一个3D程序—— 一个3D立方体
  • 4.6 渲染一个对象的多个副本
  • 实例化
  • 4.7 在同一个场景中渲染多个不同模型
  • 4.8 矩阵堆栈
  • 4.9 应对“Z冲突”伪影
  • 4.10 图元的其他选项
  • 4.11 性能优先的编程方法
  • 4.11.1 尽量减少动态内存空间分配
  • 4.11.2 预先计算透视矩阵
  • 4.11.3 背面剔除
  • 补充说明
  • 习题
  • 第5章 纹理贴图
  • 5.1 加载纹理图像文件
  • 5.2 纹理坐标
  • 5.3 创建纹理对象
  • 5.4 构建纹理坐标
  • 5.5 将纹理坐标载入缓冲区
  • 5.6 在着色器中使用纹理:采样器变量和纹理单元
  • 5.7 纹理贴图:示例程序
  • 5.8 多级渐远纹理贴图
  • 5.9 各向异性过滤
  • 5.10 环绕和平铺
  • 5.11 透视变形
  • 5.12 材质——更多OpenGL细节
  • 补充说明
  • 习题
  • 第6章 3D模型
  • 6.1 程序构建模型——构建一个球体
  • 6.2 OpenGL索引——构建一个环面
  • 6.2.1 环面
  • 6.2.2 OpenGL中的索引
  • 6.3 加载外部构建的模型
  • 补充说明
  • 习题
  • 第7章 光照
  • 7.1 光照模型
  • 7.2 光源
  • 7.3 材质
  • 7.4 ADS光照计算
  • 7.5 实现ADS光照
  • 7.5.1 Gouraud着色(双线性光强插值法)
  • 7.5.2 Phong着色
  • 7.6 结合光照与纹理
  • 补充说明
  • 历史记录
  • 习题
  • 第8章 阴影
  • 8.1 阴影的重要性
  • 8.2 投影阴影
  • 8.3 阴影体
  • 8.4 阴影贴图
  • 8.4.1 阴影贴图(第1轮)——从光源位置“绘制”物体
  • 8.4.2 阴影贴图(中间步骤)——将Z缓冲区复制到纹理
  • 8.4.3 阴影贴图(第2轮)——渲染带阴影的场景
  • 8.5 阴影贴图示例
  • 8.6 阴影贴图的伪影
  • 8.7 柔和阴影
  • 8.7.1 现实世界中的柔和阴影
  • 8.7.2 生成柔和阴影——百分比邻近滤波(PCF)
  • 8.7.3 柔和阴影/PCF程序
  • 补充说明
  • 习题
  • 第9章 天空和背景
  • 9.1 天空盒
  • 9.2 天空穹顶
  • 9.3 实现天空盒
  • 9.3.1 从头开始构建天空盒
  • 9.3.2 使用OpenGL立方体贴图
  • 9.4 环境贴图
  • 补充说明
  • 习题
  • 第10章 增强表面细节
  • 10.1 凹凸贴图
  • 10.2 法线贴图
  • 10.3 高度贴图
  • 补充说明
  • 习题
  • 第11章 参数曲面
  • 11.1 二次贝塞尔曲线
  • 11.2 三次贝塞尔曲线
  • 11.3 二次贝塞尔曲面
  • 11.4 三次贝塞尔曲面
  • 补充说明
  • 习题
  • 第12章 曲面细分
  • 12.1 OpenGL中的曲面细分
  • 12.2 贝塞尔曲面细分
  • 12.3 地形、高度图的细分
  • 12.4 控制细节级别(LOD)
  • 补充说明
  • 习题
  • 第13章 几何着色器
  • 13.1 OpenGL中的逐个图元处理
  • 13.2 修改图元
  • 13.3 删除图元
  • 13.4 添加图元
  • 13.5 更改图元类型
  • 补充说明
  • 习题
  • 第14章 其他技术
  • 14.1 雾
  • 14.2 复合、混合、透明度
  • 14.3 用户定义剪裁平面
  • 14.4 3D纹理
  • 14.5 噪声
  • 14.6 噪声应用——大理石
  • 14.7 噪声应用——木材
  • 14.8 噪声应用——云
  • 14.9 噪声应用——特殊效果
  • 补充说明
  • 习题
  • 附录A PC(Windows)上的安装与设置
  • A.1 安装库和开发环境
  • A.1.1 安装开发环境
  • A.1.2 安装OpenGL / GLSL
  • A.1.3 准备GLFW
  • A.1.4 准备GLEW
  • A.1.5 准备GLM
  • A.1.6 准备SOIL2
  • A.1.7 准备共享的“lib”和“include”文件夹
  • A.2 在MS Visual Studio中开发和部署OpenGL项目
  • 创建Visual Studio自定义项目模板
  • 附录B Macintosh(macOS)平台上的安装与设置
  • B.1 安装库和开发环境
  • B.1.1 准备并安装依赖库
  • B.1.2 准备开发环境
  • B.2 修改Mac的C++ / OpenGL / GLSL应用程序代码
  • B.2.1 修改C++代码
  • B.2.2 修改GLSL代码
  • B.2.3 补充说明
  • 附录C 使用Nsight图形调试器
  • C.1 关于NVIDIANsight
  • C.2 设置Nsight
  • C.3 在Nsight中运行C++/OpenGL应用程序
展开全部

评分及书评

尚无评分
目前还没人评分

出版方

人民邮电出版社

人民邮电出版社是工业和信息化部主管的大型专业出版社,成立于1953年10月1日。人民邮电出版社坚持“立足信息产业、面向现代社会、传播科学知识、服务科教兴国”,致力于通信、计算机、电子技术、教材、少儿、经管、摄影、集邮、旅游、心理学等领域的专业图书出版。