Beginning Direct3D Game Programming
副标题:无
作 者:(德)Wolfgang F.Engel著;周惟迪,徐翎,张璐意译
分类号:
ISBN:9787115129635
微信扫一扫,移动浏览光盘
简介
本书是基于DirectX 9.0编写的,是介绍Direct3D技术的入门教程。它详细介绍了Direct3D的背景、基本知识以及3D程序设计的相关概念与技术。全书由浅入深,分为四个部分,第一部分介绍Direct3D的发展历史和基本知识,对3D程序设计中的术语、概念进行了深入讲解;第二部分着重讨论纹理映射技术,包括多重纹理等;第三部分通过多个示例来探讨高级shader编程,并对.MD3文件格式做了详细分析;第四部分是附录,对本书中用到的概念和技术背景进行了简单补充。
本书适用于略有DirectX基础的C/C++程序员学习Direct3D游戏开发,也适用于具有Direct3D开发经验的程序员参考。
本书是学习DirectX3D图形编程的入门教程。它从基础知识开始逐步介绍各项技术,最终让你轻松掌握图形编程和动画编程的方法。相对于第一版,本书深入介绍了顶点shader和像素shader编程,覆盖了微软最新的HLSL(高级Shader语言),集中介绍了固定功能的渲染流水线,并在最后介绍了一些高级的shader效果,从而可使你的游戏具有更真实的视觉表现。
这本由业界资深专家编写的入门教程将带领你实现、甚至超越那些你不断在想象的3D图形效果!
目录
第1部分 directx图形:don't hurt me
第1章 direct3d/directx的历史
1.1 directx 2.0
1.2 directx 6/7
1.3 directx 8
1.3.1 point sprite
1.3.2 3d纹理
1.3.3 direct3dx实用程序库
1.3.4 顶点shader和像素shader
1.4 directx 9
1.5 小结
第2章 hal和com概述
2.1 硬件抽象层(hardware abstraction layer,hal)
2.2 插件式软件设备(pluggable software device)
2.3 参考光栅器(reference rasterizer)
2.4 设备控制
2.5 com
2.6 小结
第3章 编程约定
3.1 访问com对象
.3.2 命名约定
3.3 调试directx
3.4 返回码
3.5 小结
第4章 3d基础、gouraud着色、纹理映射基础
4.1 3d基础
4.2 理解顶点
4.3 使用朝向
4.4 理解面(face)
4.5 理解多边形(polygon)
4.6 理解法线(normal)
4.7 理解法线和gouraud着色
4.8 纹理映射(texture-mapping)基础
4.9 小结
第5章 基础
5.1 编译示例
5.2 directx graphics通用体系结构
5.3 basic示例
5.3.1 confirmdevice()、onetimesceneinit()和initdeviceobjects()函数
5.3.2 restoredeviceobjects()方法
5.3.3 framemove()函数
5.3.4 render()函数
5.3.5 invalidatedeviceobjects()函数
5.3.6 deletedeviceobjects()函数
5.3.7 finalcleanup()函数
5.4 basic2示例
5.4.1 initdeviceobjects()函数
5.4.2 restoredeviceobjects()函数
5.4.3 render()函数
5.4.4 invalidatedeviceobjects()函数
5.4.5 deletedeviceobjects()函数
5.4.6 finalcleanup()函数
5.5 basic3示例
5.6 basic4示例
5.7 basic5示例
5.8 小结
第6章 动画初步
6.1 理解变换与视口
6.1.1 世界变换
6.1.2 观察变换
6.1.3 投影变换
6.1.4 使用视口
6.1.5 深度缓冲(depth buffering)
6.2 附加资源
6.3 小结
6.4 第一部分提问
第2部分 深入directx图形编程
第7章 纹理映射基础
7.1 纹理的要点是什么
7.2 使用纹理坐标
7.3 使用纹理寻址模式(texture-addressing mode)
7.3.1 包装纹理寻址模式
7.3.2 镜像纹理寻址模式
7.3.3 夹持纹理寻址模式
7.3.4 边框颜色纹理寻址模式
7.3.5 一次镜像纹理寻址模式
7.4 纹理包装(texture wrapping)
7.5 纹理过滤和抗锯齿(anti-aliasing)
7.5.1 mipmap
7.5.2 最近点采样
7.5.3 线性纹理过滤
7.5.4 各向异性过滤
7.5.5 抗锯齿(anti-aliasing)
7.5.6 alpha混合(blending)
7.6 小结
第8章 使用多重纹理
8.1 多次渲染(multipass rendering)
8.2 颜色操作
8.2.1 黑暗映射(dark mapping)
8.2.2 黑暗贴图动画
8.2.3 混合纹理与材质漫反射颜色
8.2.4 混合黑暗贴图与材质漫反射颜色
8.2.5 发光映射(glow mapping)
8.2.6 细节映射(detail mapping)
8.3 alpha操作
8.4 多重纹理支持
8.5 纹理管理
8.6 附加资源
8.7 小结
8.8 第二部分提问
第3部分 directx图形编程核心
第9章 使用高级shader语言进行shader编程
9.1 开始hlsl编程前需要先做些什么
9.2 顶点/像素shader的任务
9.3 通过hlsl实现常用光照公式
9.3.1 环境光照
9.3.2 漫反射光照
9.3.3 镜面反射光照
9.3.4 自身遮蔽阴影项(self-shadowing term)
9.3.5 凹凸映射(bump mapping)
9.3.6 点光(point light)
9.4 小结
第10章 更多高级的shader效果
10.1 使用立方体贴图
10.1.1 生成立方体贴图
10.1.2 访问立方体贴图
10.2 实现
10.3 折射/反射环境映射
10.3.1 动态折射/折射环境映射
10.3.2 凹凸的动态折射/反射环境映射
10.4 使用阴影,
10.4.1 阴影体(shadow volume)
10.4.2 使用阴影体所需考虑的问题
10.5 小结
第11章 使用文件
11.1 3d文件格式
11.2 x文件格式
11.2.1 首部(header)
11.2.2 网格
11.2.3 网格材质列表
11.2.4 法线
11.2.5 纹理
11.2.6 变换矩阵
11.2.7 动画
11.3 使用x文件
11.4 扩展x文件
11.5 附加资源
11.5.1 x文件格式
11.5.2 蒙皮网格(skinned mesh)
11.6 小结
第12章 使用*.md3文件
12.1 文件格式探索
12.1.1 animation.cfg
12.1.2 .skin文件
12.1.3 纹理与shader文件
12.1.4 自定义声音
12.1.5 .md3格式
12.2 characterengine示例程序
12.3 更多的改进
12.4 附加资源
12.5 小结
第4部分 附 录
附录a windows游戏编程基础
a.1 如何看待窗口
a.2 windows如何与你的游戏交互
a.3 窗口的组成部分
a.4 窗口框架
a.4.1 步骤1:定义一个窗口类
a.4.2 步骤2:注册窗口类
a.4.3 步骤3:创建一个该类的窗口
a.4.4 步骤4:显示窗口
a.4.5 步骤5:创建消息循环
a.4.6 窗口过程
a.5 为游戏而优化的窗口框架
a.6 窗口资源
附录b c++入门
b.1 什么是面向对象程序设计
b.1.1 抽象
b.1.2 类
b.1.3 封装
b.1.4 声明一个类
b.1.5 构造函数
b.1.6 析构函数
b.1.7 类层次和继承
b.1.8 虚函数
b.1.9 多态性
b.1.10 内联(inline)函数
b.1.11 c++相对与c增强的内容
b.2 附加资源
附录c 数学入门
c.1 3d中的点(point)
c.2 向量(vector)
c.2.1 受限向量(bound vector)
c.2.2 自由向量(free vector)
c.2.3 单位向量(unit vector)
c.3 矩阵
c.3.1 矩阵与向量的乘法
c.3.2 矩阵加法和减法
c.3.3 矩阵乘法
c.3.4 平移矩阵
c.3.5 缩放矩阵
c.3.6 旋转矩阵
c.4 小结
附录d 使用d3dxcreatetexturefromfileex()创建纹理
附录e 游戏程序设计资源
e.1 常规
e.2 directx图形
附录f 随书光盘内容
f.1 directx 9.0 sdk
f.2 ati rendermonkey
f. 3 nvidia cg工具包
f. 4 教学演示动画
第1章 direct3d/directx的历史
1.1 directx 2.0
1.2 directx 6/7
1.3 directx 8
1.3.1 point sprite
1.3.2 3d纹理
1.3.3 direct3dx实用程序库
1.3.4 顶点shader和像素shader
1.4 directx 9
1.5 小结
第2章 hal和com概述
2.1 硬件抽象层(hardware abstraction layer,hal)
2.2 插件式软件设备(pluggable software device)
2.3 参考光栅器(reference rasterizer)
2.4 设备控制
2.5 com
2.6 小结
第3章 编程约定
3.1 访问com对象
.3.2 命名约定
3.3 调试directx
3.4 返回码
3.5 小结
第4章 3d基础、gouraud着色、纹理映射基础
4.1 3d基础
4.2 理解顶点
4.3 使用朝向
4.4 理解面(face)
4.5 理解多边形(polygon)
4.6 理解法线(normal)
4.7 理解法线和gouraud着色
4.8 纹理映射(texture-mapping)基础
4.9 小结
第5章 基础
5.1 编译示例
5.2 directx graphics通用体系结构
5.3 basic示例
5.3.1 confirmdevice()、onetimesceneinit()和initdeviceobjects()函数
5.3.2 restoredeviceobjects()方法
5.3.3 framemove()函数
5.3.4 render()函数
5.3.5 invalidatedeviceobjects()函数
5.3.6 deletedeviceobjects()函数
5.3.7 finalcleanup()函数
5.4 basic2示例
5.4.1 initdeviceobjects()函数
5.4.2 restoredeviceobjects()函数
5.4.3 render()函数
5.4.4 invalidatedeviceobjects()函数
5.4.5 deletedeviceobjects()函数
5.4.6 finalcleanup()函数
5.5 basic3示例
5.6 basic4示例
5.7 basic5示例
5.8 小结
第6章 动画初步
6.1 理解变换与视口
6.1.1 世界变换
6.1.2 观察变换
6.1.3 投影变换
6.1.4 使用视口
6.1.5 深度缓冲(depth buffering)
6.2 附加资源
6.3 小结
6.4 第一部分提问
第2部分 深入directx图形编程
第7章 纹理映射基础
7.1 纹理的要点是什么
7.2 使用纹理坐标
7.3 使用纹理寻址模式(texture-addressing mode)
7.3.1 包装纹理寻址模式
7.3.2 镜像纹理寻址模式
7.3.3 夹持纹理寻址模式
7.3.4 边框颜色纹理寻址模式
7.3.5 一次镜像纹理寻址模式
7.4 纹理包装(texture wrapping)
7.5 纹理过滤和抗锯齿(anti-aliasing)
7.5.1 mipmap
7.5.2 最近点采样
7.5.3 线性纹理过滤
7.5.4 各向异性过滤
7.5.5 抗锯齿(anti-aliasing)
7.5.6 alpha混合(blending)
7.6 小结
第8章 使用多重纹理
8.1 多次渲染(multipass rendering)
8.2 颜色操作
8.2.1 黑暗映射(dark mapping)
8.2.2 黑暗贴图动画
8.2.3 混合纹理与材质漫反射颜色
8.2.4 混合黑暗贴图与材质漫反射颜色
8.2.5 发光映射(glow mapping)
8.2.6 细节映射(detail mapping)
8.3 alpha操作
8.4 多重纹理支持
8.5 纹理管理
8.6 附加资源
8.7 小结
8.8 第二部分提问
第3部分 directx图形编程核心
第9章 使用高级shader语言进行shader编程
9.1 开始hlsl编程前需要先做些什么
9.2 顶点/像素shader的任务
9.3 通过hlsl实现常用光照公式
9.3.1 环境光照
9.3.2 漫反射光照
9.3.3 镜面反射光照
9.3.4 自身遮蔽阴影项(self-shadowing term)
9.3.5 凹凸映射(bump mapping)
9.3.6 点光(point light)
9.4 小结
第10章 更多高级的shader效果
10.1 使用立方体贴图
10.1.1 生成立方体贴图
10.1.2 访问立方体贴图
10.2 实现
10.3 折射/反射环境映射
10.3.1 动态折射/折射环境映射
10.3.2 凹凸的动态折射/反射环境映射
10.4 使用阴影,
10.4.1 阴影体(shadow volume)
10.4.2 使用阴影体所需考虑的问题
10.5 小结
第11章 使用文件
11.1 3d文件格式
11.2 x文件格式
11.2.1 首部(header)
11.2.2 网格
11.2.3 网格材质列表
11.2.4 法线
11.2.5 纹理
11.2.6 变换矩阵
11.2.7 动画
11.3 使用x文件
11.4 扩展x文件
11.5 附加资源
11.5.1 x文件格式
11.5.2 蒙皮网格(skinned mesh)
11.6 小结
第12章 使用*.md3文件
12.1 文件格式探索
12.1.1 animation.cfg
12.1.2 .skin文件
12.1.3 纹理与shader文件
12.1.4 自定义声音
12.1.5 .md3格式
12.2 characterengine示例程序
12.3 更多的改进
12.4 附加资源
12.5 小结
第4部分 附 录
附录a windows游戏编程基础
a.1 如何看待窗口
a.2 windows如何与你的游戏交互
a.3 窗口的组成部分
a.4 窗口框架
a.4.1 步骤1:定义一个窗口类
a.4.2 步骤2:注册窗口类
a.4.3 步骤3:创建一个该类的窗口
a.4.4 步骤4:显示窗口
a.4.5 步骤5:创建消息循环
a.4.6 窗口过程
a.5 为游戏而优化的窗口框架
a.6 窗口资源
附录b c++入门
b.1 什么是面向对象程序设计
b.1.1 抽象
b.1.2 类
b.1.3 封装
b.1.4 声明一个类
b.1.5 构造函数
b.1.6 析构函数
b.1.7 类层次和继承
b.1.8 虚函数
b.1.9 多态性
b.1.10 内联(inline)函数
b.1.11 c++相对与c增强的内容
b.2 附加资源
附录c 数学入门
c.1 3d中的点(point)
c.2 向量(vector)
c.2.1 受限向量(bound vector)
c.2.2 自由向量(free vector)
c.2.3 单位向量(unit vector)
c.3 矩阵
c.3.1 矩阵与向量的乘法
c.3.2 矩阵加法和减法
c.3.3 矩阵乘法
c.3.4 平移矩阵
c.3.5 缩放矩阵
c.3.6 旋转矩阵
c.4 小结
附录d 使用d3dxcreatetexturefromfileex()创建纹理
附录e 游戏程序设计资源
e.1 常规
e.2 directx图形
附录f 随书光盘内容
f.1 directx 9.0 sdk
f.2 ati rendermonkey
f. 3 nvidia cg工具包
f. 4 教学演示动画
Beginning Direct3D Game Programming
光盘服务联系方式: 020-38250260 客服QQ:4006604884
云图客服:
用户发送的提问,这种方式就需要有位在线客服来回答用户的问题,这种 就属于对话式的,问题是这种提问是否需要用户登录才能提问
Video Player
×
Audio Player
×
pdf Player
×
亲爱的云图用户,
光盘内的文件都可以直接点击浏览哦
无需下载,在线查阅资料!