DirectX 3D游戏编程实用教程

DirectX 3D游戏编程实用教程

郑阿奇, 主编

出版社:电子工业出版社

年代:2011

定价:57.0

书籍简介:

DirectX是由微软创建的多媒体编程接口,目前最流行的是DirectX 9.0。本书介绍DirectX 9.0,内容为六篇共18章,包括3D游戏编程基础、3D游戏图形渲染、3D游戏输入控制、3D游戏应用编程、3D游戏音频输出和3D游戏网络通信。包含3D游戏编程的主要内容。本书以游戏编程基础为先导;游戏编程中每一个方法先原理后应用;实例的展开既突出重点,又考虑完整性。

书籍目录:

第一篇 d游戏编程基础

第1章 windows编程基础

1.1 简单的windows应用程序

1.1.1 创建windows应用程序项目

1.1.2 配置、生成及运行项目

1.2 windows应用程序结构

1.2.1 数据类型

1.2.2 入口函数

1.2.3 注册窗口类

1.2.4 创建并显示窗口

1.3 windows消息机制

1.3.1 消息队列

1.3.2 消息循环

1.3.3 消息处理

1.4 匈牙利命名法

1.4.1 类型和常量的命名

1.4.2 变量的命名

1.4.3 函数和参数的命名

1.4.4 类的命名

1.5 本章小结

第2章 direct3d编程基础

2.1 directx概述

2.1.1 directx的发展过程

2.1.2 directx的组成部分

2.1.3 direct3d与com

2.1.4 direct3d接口对象

2.2 direct3d渲染流水线

2.2.1 渲染流水线

2.2.2 灵活顶点格式

2.2.3 d3d中的颜色

2.2.4 d3d中的图元

2.3 direct3d程序结构

2.3.1 简单的direct3d应用程序

2.3.2 创建direct3d接口对象

2.3.3 获取硬件设备信息

2.3.4 创建direct3d设备接口

2.3.5 开始direct3d图形绘制

2.3.6 结束并清理对象资源

2.4 顶点缓存

2.4.1 创建顶点缓存

2.4.2 访问顶点缓存

2.4.3 使用顶点缓存绘制图形

2.4.4 顶点缓存的绘制示例

2.5 索引缓存

2.5.1 创建索引缓存

2.5.2 访问索引缓存

2.5.3 使用索引缓存绘制图形

2.5.4 索引缓存的绘制示例

2.6 direct3d渲染状态

2.6.1 剔除状态

2.6.2 着色状态

2.6.3 填充状态

2.7 本章小结

第3章 基本的数学基础

3.1 坐标空间

3.1.1 d笛卡儿坐标系

3.1.2 多坐标系统

3.2 向量

3.2.1 向量的基本概念

3.2.2 向量的基本运算

3.2.3 d3d中的向量

3.3 矩阵

3.3.1 矩阵的基本概念

3.3.2 矩阵的基本运算

3.3.3 矩阵的基本变换

3.3.4 d3d中的矩阵

3.4 平面及射线

3.4.1 平面的定义

3.4.2 点与平面的关系

3.4.3 射线的定义

3.4.4 射线与平面的关系

3.5 空间坐标变换

3.5.1 世界变换

3.5.2 取景变换

3.5.3 投影变换

3.5.4 视口变换

3.6 空间坐标变换示例

3.7 本章小结

第二篇 d游戏图形渲染

第4章 光照与材质

4.1 光照模型

4.1.1 环境光

4.1.2 漫反射光

4.1.3 镜面反射光

4.2 光源类型

4.2.1 点光源

4.2.2 方向光

4.2.3 聚光灯

4.3 物体的材质

4.3.1 d3d材质

4.3.2 顶点法线

4.4 光照与材质示例

4.5 本章小结

第5章 纹理映射

5.1 纹理映射基础

5.1.1 纹理坐标

5.1.2 创建纹理

5.1.3 启用纹理

5.1.4 创建纹理示例

5.2 纹理过滤

5.2.1 最近点采样过滤

5.2.2 线性纹理过滤

5.2.3 各向异性过滤

5.2.4 多级渐进过滤

5.2.5 纹理过滤示例

5.3 纹理寻址

5.3.1 重复寻址

5.3.2 镜像寻址

5.3.3 夹取寻址

5.3.4 边框颜色寻址

5.3.5 纹理寻址示例

5.4 纹理包装

5.4.1 纹理包装原理

5.4.2 纹理包装示例

5.5 本章小结

第6章 网格模型

6.1 网格模型基础

6.1.1 网格的子集及属性

6.1.2 网格的邻接信息

6.1.3 网格的创建及绘制

6.1.4 创建及绘制网格示例

6.2 网格的优化及克隆

6.2.1 优化网格

6.2.2 克隆网格

6.3 x文件格式分析

6.3.1 模板的定义

6.3.2 常用的模板类型

6.3.3 x文件的结构

6.4 从x文件创建网格

6.4.1 加载网格模型数据

6.4.2 获取纹理和材质信息

6.4.3 绘制网格模型

6.4.4 读取x文件示例

6.5 创建渐进网格模型

6.5.1 id3dxpmesh接口

6.5.2 创建并绘制渐进网格

6.5.3 创建渐进网格示例

6.6 d3d中的几何体

6.7 本章小结

第7章 深度、融合及模板

7.1 深度测试

7.1.1 深度缓存

7.1.2 深度测试

7.1.3 深度测试示例

7.2 融合技术

7.2.1 融合因子

7.2.2 alpha来源

7.2.3 启用alpha融合

7.2.4 alpha融合示例

7.3 模板技术

7.3.1 模板缓存

7.3.2 模板测试

7.3.3 更新模板缓存

7.4 镜面效果

7.4.1 镜面成像原理

7.4.2 实现镜面效果

7.5 本章小结

第8章 hlsl语言基础

8.1 hlsl概述

8.1.1 可编程管线

8.1.2 hlsl工作模型

8.2 简单的hlsl程序

8.2.1 编写hlsl代码

8.2.2 hlsl关键字和保留字

8.2.3 hlsl预处理指令

8.2.4 输入、输出结构

8.2.5 hlsl入口函数

8.3 hlsl基本语法

8.3.1 hlsl中的变量

8.3.2 hlsl中的函数

8.4 d3d与hlsl交互

8.4.1 编译着色器程序

8.4.2 获取常量的句柄

8.4.3 设置常量的值

8.5 hlsl程序示例

8.6 本章小结

第9章 着色器与效果

9.1 顶点着色器

9.1.1 创建顶点声明

9.1.2 使用顶点着色器

9.1.3 顶点着色器示例

9.2 渐变动画效果

9.2.1 渐变动画原理

9.2.2 实现渐变动画

9.3 像素着色器

9.3.1 创建像素着色器

9.3.2 使用像素着色器

9.4 多重纹理混合

9.4.1 hlsl采样器

9.4.2 多重纹理坐标

9.4.3 启用多重纹理

9.4.4 多重纹理示例

9.5 效果框架

9.5.1 通道与手法

9.5.2 着色器内置对象

9.5.3 效果中的渲染状态

9.5.4 创建效果框架

9.5.5 效果中常量的设置

9.5.6 使用效果框架

9.5.7 效果框架示例

9.6 本章小结

第三篇 d游戏输入控制

第10章 directx输入控制

10.1 directinput接口

10.2 使用directinput接口

10.2.1 directinput的初始化

10.2.2 创建设备接口对象

10.2.3 设置数据格式

10.2.4 设置协作级别

10.2.5 设置特殊属性

10.2.6 获取、轮询设备

10.2.7 读取设备数据

10.3 使用directinput处理键盘

10.3.1 初始化键盘设备接口

10.3.2 获取输入的键盘数据

10.3.3 键盘输入控制示例

10.4 使用directinput处理鼠标

10.4.1 在d3d中移动鼠标

10.4.2 初始化鼠标设备接口

10.4.3 获取鼠标的移动位置

10.4.4 鼠标输入控制示例

10.5 使用directinput处理游戏杆

10.5.1 游戏杆及其控制原理

10.5.2 初始化游戏杆设备接口

10.5.3 读取游戏杆的状态数据

10.5.4 游戏杆输入控制示例

10.6 本章小结

第四篇 d游戏应用编程

第11章 摄像机、地形及天空

11.1 虚拟摄像机

11.1.1 摄像机的属性

11.1.2 摄像机的变换

11.1.3 摄像机的实现

11.1.4 摄像机应用示例

11.2 三维地形系统

11.2.1 地形高度图

11.2.2 顶点的计算

11.2.3 索引的计算

11.2.4 地形的绘制

11.2.5 地形类的实现

11.2.6 地形绘制示例

11.3 球形天空顶

11.3.1 顶点的计算

11.3.2 索引的计算

11.3.3 天空的绘制

11.3.4 天空类的实现

11.3.5 天空绘制示例

11.4 本章小结

第12章 文字、拾取及碰撞检测

12.1 字体及文本绘制

12.1.1 绘制2d文本

12.1.2 绘制3d文本

12.1.3 文本绘制示例

12.2 拾取技术

12.2.1 网格外接体

12.2.2 拾取技术原理

12.2.3 拾取应用示例

12.3 碰撞检测

12.3.1 边界球碰撞检测

12.3.2 aabb碰撞检测

12.3.3 obb树碰撞检测

12.3.4 aabb碰撞检测示例

12.4 本章小结

第13章 骨骼动画

13.1 x文件中的骨骼信息

13.1.1 骨骼蒙皮信息

13.1.2 骨骼层次信息

13.1.3 模型动画信息

13.2 加载骨骼动画数据

13.2.1 扩展结构体

13.2.2 加载x文件

13.2.3 callocatehierarchy类

13.2.4 生成蒙皮网格

13.3 顶点混合技术

13.3.1 顶点混合原理

13.3.2 索引顶点混合

13.4 骨骼动画的绘制

13.4.1 开启顶点混合

13.4.2 更新骨骼矩阵

13.4.3 绘制骨骼动画

13.5 骨骼动画控制器

13.5.1 使用动画控制器

13.5.2 平滑过渡动画集

13.6 骨骼动画示例

13.7 本章小结

第14章 实时阴影

14.1 平面阴影的原理

14.1.1 点光源平面阴影

14.1.2 方向光平面阴影

14.2 平面阴影的实现

14.2.1 计算阴影矩阵

14.2.2 平面阴影的绘制

14.2.3 平面阴影示例

14.3 体积阴影的原理

14.3.1 模型阴影体

14.3.2 阴影锥的计算

14.4 体积阴影的实现

14.4.1 体积阴影的绘制

14.4.2 体积阴影示例

14.5 阴影贴图的原理

14.6 本章小结

第15章 广告牌技术与粒子系统

15.1 广告牌技术

15.1.1 广告牌的原理

15.1.2 广告牌的实现

15.1.3 广告牌示例

15.2 粒子系统

15.2.1 粒子系统的原理

15.2.2 粒子系统的实现

15.2.3 粒子系统的更新

15.2.4 粒子系统的绘制

15.3 粒子系统示例

15.3.1 烟花示例

15.3.2 喷泉示例

15.4 本章小结

第16章 雾化及lod地形

16.1 雾化效果

16.1.1 雾化混合因子

16.1.2 顶点雾化

16.1.3 像素雾化

16.1.4 范围雾化

16.2 lod地形原理

16.2.1 lod四叉树算法

16.2.2 lod地形的实现

16.2.3 节点剔除原理

16.2.4 节点简化准则

16.2.5 地形裂缝的处理

16.2.6 地形的更新及绘制

16.3 lod地形示例

16.4 本章小结

第五篇 d游戏音频输出

第17章 direct3d音频控制

17.1 音频文件格式

17.1.1 音频的基本概念

17.1.2 wav音频格式

17.1.3 midi音频格式

17.1.4 mp3音频格式

17.2 使用directsound处理音频

17.2.1 directsound的结构

17.2.2 directsound的初始化

17.2.3 directsound音频缓冲

17.2.4 向缓冲区中写入数据

17.2.5 播放声音及音频控制

17.2.6 用directsound反馈信息

17.2.7 directsound应用示例

17.3 使用directmusic处理音频

17.3.1 directmusic的结构

17.3.2 开始使用directmusic

17.3.3 加载、操作midi段

17.3.4 directmusic应用示例

17.4 使用directshow处理音频

17.4.1 directshow的工作原理

17.4.2 directshow的初始化

17.4.3 加载流媒体数据

17.4.4 控制流媒体的播放

17.4.5 directshow应用示例

17.5 本章小结

第六篇 d游戏网络通信

第18章 direct3d网络控制

18.1 了解网络互联

18.1.1 网络会话模型

18.1.2 寻址与通信协议

18.2 directplay概述

18.2.1 创建和管理会话

18.2.2 directplay传输协议

18.2.3 directplay网络对象

18.2.4 玩家与游戏大厅

18.3 客户/服务会话

18.3.1 初始化网络对象

18.3.2 选择服务提供者

18.3.3 使用directplay地址

18.3.4 建立客户/服务会话

18.3.5 发送、接收数据

18.3.6 创建并使用分组

18.3.7 结束及终止会话

18.4 游戏大厅的支持

18.4.1 游戏大厅的结构

18.4.2 实现游戏大厅客户端

18.4.3 实现支持大厅的程序

18.5 客户/服务会话示例

18.5.1 创建服务端程序

18.5.2 创建客户端程序

18.6 本章小结

附 录

附录a directx9 sdk的安装与配置

a.1 安装directx

a.2 配置开发环境

a.3 浏览directx示例

附录b dxut程序框架介绍

b.1 创建dxut项目

b.2 dxut框架的初始化

b.3 创建应用程序窗口

b.4 创建direct3d设备

b.5 dxut的事件处理

b.5.1 框架事件

b.5.2 设备事件

b.5.3 消息事件

b.6 dxut的错误处理

内容摘要:

DirectX是由微软创建的多媒体编程接口,目前最流行的是DirectX 9.0。《DirectX 3D游戏编程实用教程》介绍DirectX 9.0,内容为六篇共18章,包括3D游戏编程基础、3D游戏图形渲染、3D游戏输入控制、3D游戏应用编程、3D游戏音频输出和3D游戏网络通信。包含3D游戏编程的主要内容。《DirectX 3D游戏编程实用教程》以游戏编程基础为先导;游戏编程中每一个方法先原理后应用;实例的展开既突出重点,又考虑完整性。
读者对象:本书可作为大学本科和高?高专游戏编程课程和游戏编程培训教材,也可供广大游戏编程用户学习和参考。

编辑推荐:

展现精英高手发现之旅,站在流行平台开发实践,介绍流行软件神奇魅力。

书籍规格:

书籍详细信息
书名DirectX 3D游戏编程实用教程站内查询相似图书
丛书名魅力·实践·发现
9787121128219
如需购买下载《DirectX 3D游戏编程实用教程》pdf扫描版电子书或查询更多相关信息,请直接复制isbn,搜索即可全网搜索该ISBN
出版地北京出版单位电子工业出版社
版次1版印次1
定价(元)57.0语种简体中文
尺寸26 × 18装帧平装
页数 510 印数

书籍信息归属:

DirectX 3D游戏编程实用教程是电子工业出版社于2011.1出版的中图分类号为 G899 ,TP311.56 的主题关于 游戏-应用程序-程序设计-高等学校-教材 ,多媒体-软件工具,DirectX-高等学校-教材 的书籍。