展开全部

主编推荐语

本书讲解如何使用DirectX12进行3D游戏的开发,从基础开始,由浅入深地引导你进行学习。

内容简介

Direct3D是微软公司DirectX SDK集成开发包中的重要组成部分,是编写高性能3D图形应用程序的渲染库,适用于多媒体、娱乐、即时3D动画等广泛和实用的3D图形计算领域。

本书围绕交互式计算机图形学这一主题展开,着重介绍Direct3D的基础知识和着色器编程的方法,并介绍了如何利用Direct3D来实现各种有趣的技术与特效,旨在为读者学习图形技术奠定坚实的基础。

本书包括3部分内容。第一部分介绍数学知识,涵盖向量代数、矩阵代数和变换等内容。这是贯穿全书的数学工具,是读者需要掌握的基础内容。第二部分重点介绍Direct3D的基础知识,展示用Direct3D来实现绘图任务的基本概念与技术,如渲染流水线、纹理贴图、混合、曲面细分等。第三部分则利用Direct3D来实现各种有趣的特效,如实例化与视锥体剔除、阴影贴图、环境光遮蔽等。

本书适合希望通过Direct3D来学习3D编程的C++中级程序员阅读,也可供已对Direct3D有一定了解或具有非DirectX API使用经验的3D程序员参考。

目录

  • 版权信息
  • 内容提要
  • 前言
  • 本书受众
  • 预备知识
  • 需要配备的开发工具以及硬件环境
  • 使用DirectX SDK文档以及SDK示例
  • 明确学习目的
  • 例程与在线补充材料
  • 通过Visual Studio 2015安装演示项目
  • 资源与支持
  • 配套资源
  • 提交勘误
  • 与我们联系
  • 关于异步社区和异步图书
  • 致谢
  • 第一部分 必备的数学知识
  • 第1章 向量代数
  • 1.1 向量
  • 1.2 长度和单位向量
  • 1.3 点积
  • 1.4 叉积
  • 1.5 点
  • 1.6 利用DirectXMath库进行向量运算
  • 1.7 小结
  • 1.8 练习
  • 第2章 矩阵代数
  • 2.1 矩阵的定义
  • 2.2 矩阵乘法
  • 2.3 转置矩阵
  • 2.4 单位矩阵
  • 2.5 矩阵的行列式
  • 2.6 伴随矩阵
  • 2.7 逆矩阵
  • 2.8 用DirectXMath库处理矩阵
  • 2.9 小结
  • 2.10 练习
  • 第3章 变换
  • 3.1 线性变换
  • 3.2 仿射变换
  • 3.3 变换的复合
  • 3.4 坐标变换
  • 3.5 变换矩阵与坐标变换矩阵
  • 3.6 DirectXMath库提供的变换函数
  • 3.7 小结
  • 3.8 练习
  • 第二部分 Direct3D基础
  • 第4章 Direct3D的初始化
  • 4.1 预备知识
  • 4.2 CPU与GPU间的交互
  • 4.3 初始化Direct3D
  • 4.4 计时与动画
  • 4.5 应用程序框架示例
  • 4.6 调试Direct3D应用程序
  • 4.7 小结
  • 第5章 渲染流水线
  • 5.1 3D视觉即错觉?
  • 5.2 模型的表示
  • 5.3 计算机色彩基础
  • 5.4 渲染流水线概述
  • 5.5 输入装配器阶段
  • 5.6 顶点着色器阶段
  • 5.7 曲面细分阶段
  • 5.8 几何着色器阶段
  • 5.9 裁剪
  • 5.10 光栅化阶段
  • 5.11 像素着色器阶段
  • 5.12 输出合并阶段
  • 5.13 小结
  • 5.14 练习
  • 第6章 利用Direct3D绘制几何体
  • 6.1 顶点与输入布局
  • 6.2 顶点缓冲区
  • 6.3 索引和索引缓冲区
  • 6.4 顶点着色器示例
  • 6.5 像素着色器示例
  • 6.6 常量缓冲区
  • 6.7 编译着色器
  • 6.8 光栅器状态
  • 6.9 流水线状态对象
  • 6.10 几何图形辅助结构体
  • 6.11 立方体演示程序
  • 6.12 小结
  • 6.13 练习
  • 第7章 利用Direct3D绘制几何体(续)
  • 7.1 帧资源
  • 7.2 渲染项
  • 7.3 渲染过程中所用到的常量数据
  • 7.4 不同形状的几何体
  • 7.5 绘制多种几何体演示程序
  • 7.6 细探根签名
  • 7.7 陆地与波浪演示程序
  • 7.8 小结
  • 7.9 练习
  • 第8章 光照
  • 8.1 光照与材质的交互
  • 8.2 法向量
  • 8.3 参与光照计算的一些关键向量
  • 8.4 朗伯余弦定律
  • 8.5 漫反射光照
  • 8.6 环境光照
  • 8.7 镜面光照
  • 8.8 光照模型的概述
  • 8.9 材质的实现
  • 8.10 平行光源
  • 8.11 点光源
  • 8.12 聚光灯光源
  • 8.13 光照的具体实现
  • 8.14 光照演示程序
  • 8.15 小结
  • 8.16 练习
  • 第9章 纹理贴图
  • 9.1 纹理与资源的回顾
  • 9.2 纹理坐标
  • 9.3 纹理数据源
  • 9.4 创建以及启用纹理
  • 9.5 过滤器
  • 9.6 寻址模式
  • 9.7 采样器对象
  • 9.8 在着色器中对纹理进行采样
  • 9.9 板条箱演示程序
  • 9.10 纹理变换
  • 9.11 附有纹理的山川演示程序
  • 9.12 小结
  • 9.13 练习
  • 第10章 混合
  • 10.1 混合方程
  • 10.2 混合运算
  • 10.3 混合因子
  • 10.4 混合状态
  • 10.5 混合示例
  • 10.6 alpha通道
  • 10.7 裁剪像素
  • 10.8 雾
  • 10.9 小结
  • 10.10 练习
  • 第11章 模板
  • 11.1 深度/模板缓冲区的格式及其资源数据的清理
  • 11.2 模板测试
  • 11.3 描述深度/模板状态
  • 11.4 实现平面镜效果
  • 11.5 实现平面阴影
  • 11.6 小结
  • 11.7 练习
  • 第12章 几何着色器
  • 12.1 编写几何着色器
  • 12.2 以公告牌技术实现森林效果
  • 12.3 纹理数组
  • 12.4 alpha-to-coverage技术
  • 12.5 小结
  • 12.6 练习
  • 第13章 计算着色器
  • 13.1 线程与线程组
  • 13.2 一个简单的计算着色器
  • 13.3 数据的输入与输出资源
  • 13.4 线程标识的系统值
  • 13.5 追加缓冲区与消费缓冲区
  • 13.6 共享内存与线程同步
  • 13.7 图像模糊演示程序
  • 13.8 拓展资料
  • 13.9 小结
  • 13.10 练习
  • 第14章 曲面细分阶段
  • 14.1 曲面细分的图元类型
  • 14.2 外壳着色器
  • 14.3 镶嵌器阶段
  • 14.4 域着色器
  • 14.5 对四边形进行镶嵌化处理
  • 14.6 三次贝塞尔四边形面片
  • 14.7 小结
  • 14.8 练习
  • 第三部分 主题篇
  • 第15章 构建第一人称视角的摄像机与动态索引
  • 15.1 重温取景变换
  • 15.2 摄像机类
  • 15.3 摄像机类中的方法实现选讲
  • 15.4 摄像机演示程序的若干注解
  • 15.5 动态索引
  • 15.6 小结
  • 15.7 练习
  • 第16章 实例化与视锥体剔除
  • 16.1 硬件实例化
  • 16.2 包围体与视锥体
  • 16.3 视锥体剔除
  • 16.4 小结
  • 16.5 练习
  • 第17章 拾取
  • 17.1 屏幕空间到投影窗口的变换
  • 17.2 位于世界空间与局部空间中的拾取射线
  • 17.3 射线与网格的相交检测
  • 17.4 应用例程
  • 17.5 小结
  • 17.6 练习
  • 第18章 立方体贴图
  • 18.1 什么是立方体贴图
  • 18.2 环境贴图
  • 18.3 绘制天空纹理
  • 18.4 模拟反射
  • 18.5 动态立方体图
  • 18.6 用几何着色器绘制动态立方体图
  • 18.7 小结
  • 18.8 练习
  • 第19章 法线贴图
  • 19.1 使用法线贴图的动机
  • 19.2 什么是法线贴图
  • 19.3 纹理空间/切线空间
  • 19.4 顶点切线空间
  • 19.5 在切线空间与物体空间之间进行转换
  • 19.6 法线贴图的着色器代码
  • 19.7 小结
  • 19.8 练习
  • 第20章 阴影贴图
  • 20.1 渲染场景深度
  • 20.2 正交投影
  • 20.3 投影纹理坐标
  • 20.4 什么是阴影贴图
  • 20.5 过大的PCF核
  • 20.6 小结
  • 20.7 练习
  • 第21章 环境光遮蔽
  • 21.1 通过投射光线实现环境光遮蔽
  • 21.2 屏幕空间环境光遮蔽
  • 21.3 小结
  • 21.4 练习
  • 第22章 四元数
  • 22.1 复数回顾
  • 22.2 四元数代数
  • 22.3 单位四元数及其旋转操作
  • 22.4 四元数插值
  • 22.5 DirectX数学库中与四元数有关的函数
  • 22.6 旋转演示程序
  • 22.7 小结
  • 22.8 练习
  • 第23章 角色动画
  • 23.1 框架层次
  • 23.2 蒙皮网格
  • 23.3 顶点混合
  • 23.4 从文件中加载动画数据
  • 23.5 角色动画演示程序
  • 23.6 小结
  • 23.7 练习
  • 附录A Windows编程入门
  • A.1 概述
  • A.2 基本的Windows应用程序
  • A.3 讲解基本Windows应用程序的工作流程
  • A.4 一种更灵活的消息循环
  • A.5 小结
  • A.6 练习
  • 附录B 高级着色器语言参考
  • B.1 变量类型
  • B.2 关键字与运算符
  • B.3 程序中的控制流
  • B.4 函数
  • 附录C 解析几何学选讲
  • C.1 射线、直线以及线段
  • C.2 平行四边形
  • C.3 三角形
  • C.4 平面
  • C.5 练习
  • 附录D 参考资料
展开全部

评分及书评

评分不足
1个评分

出版方

人民邮电出版社

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