首页>参考读物>计算机科学与技术>软件与程序设计

DirectX游戏编程
作者 : 王鹏杰 李威 王聪 编著
出版日期 : 2010-01-28
ISBN : 978-7-111-29331-6
定价 : 49.00元
扩展资源下载
扩展信息
语种 : 简体中文
页数 : 281
开本 : 16
原书名 : Direct X游戏编程
原出版社:
属性分类: 店面
包含CD :
绝版 : 未绝版
图书简介

本书是DirectX游戏编程的入门教材,是作者对其近几年来在高校教授游戏程序设计课程的教案和实验设计的浓缩,力求凸显“低门槛、重实践、精理论”的特色,其规划和设计融入了作者多年来对该课程教学的经验总结和思考。本书主要包括两部分内容,基础部分和高级部分。基础部分主要讲述了DirectX的基础知识,包括游戏开发的基本数学知识、DirectX开发的基本配置、基本开发框架、基本图形的绘制、文本显示、变换、纹理映射。高级部分根据DirectX技术的发展趋势,选讲了一些有生命力的技术,主要包括深度测试和反走样、网格、混合、模板以及顶点着色器和像素着色器等知识。

图书特色

本书特色:
作为《OpenGL游戏编程》的姊妹篇,本书也是游戏编程的入门书籍,不同的是选用了另一个非常流行的游戏软件开发包——DirectX进行游戏编程。当前,Direct3D已经成为3D游戏开发的主流技术。因此对于欲进行3D游戏开发、图形处理、虚拟现实、仿真系统等领域的初学者来说,学习Direct3D是他们最好的起点。基于此,本书在游戏开发的背景下,介绍了用Direct3D开发交互式3D图形程序的几乎所有主题。
本书的规划和设计融入了作者多年来对该课程教学的经验总结和思考。前半部分介绍了用Direct3D进行游戏开发的基本技术,包括游戏开发的基本数学知识、Direct3D开发的配置、开发框架、基本图形的绘制、文本显示、变换、纹理映射;后半部分根据DirectX技术的发展趋势,选择了一些有生命力的技术,主要包括深度测试和反走样、网格、混合、模板以及顶点着色器和像素着色器等技术。
突出“低门槛、重实践、精理论”的特色。
内容翔实,实例丰富,完全从实战出发讲述Direct3D的基本理论及技术。并且实例中深入剖析一些目前市面图书中未涉及的实用技术细节。
所有实例都力求实用、新颖、有趣,并取材于实际项目,具有极高的可复用价值,完全能在实际项目中“即插即用”。
全书代码保持一种良好的编码风格,提供清晰的注释和详细的解释。
深入剖析了vertex shader、pixel shader编程和HLSL语言等代表Direct3D技术趋势的新技术并给出大量的实例。

图书前言

作为《OpenGL游戏编程》的姊妹篇,本书也是游戏编程的入门书籍,不同的是选用了另一个非常流行(甚至已经成为主流技术)的游戏软件开发包DirectX进行游戏编程。本书是作者近几年来在高校教授游戏程序设计课程的经验凝结,力求凸显“低门槛、重实践、精理论”的特色,其规划和设计融入了作者多年来对该课程教学的经验总结和思考。全书共有16章,包括两部分内容:基础部分和高级部分。基础部分包括第1章~第8章,主要讲述了DirectX的基础知识,包括游戏开发的基本数学知识、DirectX开发的基本配置、基本开发框架、基本图形的绘制、文本显示、变换、纹理映射。高级部分包括第9章~第16章,根据DirectX技术的发展趋势,介绍了一些有生命力的技术,主要包括深度测试和反走样、网格、混合、模板以及顶点着色器和像素着色器等知识。本书面向的读者是有一定程序设计能力的DirectX初学者或爱好者。
  各章主要内容分别为:第1章介绍游戏开发相关的一些数学基础知识;第2章对DirectX的历史、功能及基本配置做了介绍;第3章介绍了本书所涉及的Direct3D程序设计框架,并通过实例详细讲解了基本的Win32框架和DXUT框架;第4章介绍了文本显示程序的编写,为后续章节实例中的文本显示做准备;第5章介绍了基本图形的绘制过程,主要讲解了基本图元的类型,以及使用顶点缓存和索引缓存绘制基本图形的方法;第6章介绍了3种基本变换并辅以实例对其进行详细说明;第7章介绍了材质和光照的使用,给出了不同光照和不同材质下的实例效果对比;第8章介绍了纹理的载入和绘制方式;第9章介绍了深度测试和反走样的基本原理,并分别给出了实例;第10章和第11章介绍了网格的定义,包括网格中顶点缓存和索引缓存的填充,X文件导入生成网格的过程,渐进网格的生成和控制;第12章介绍了混合和模板,并分别给出了实例;第13章~第15章介绍了着色器部分的内容,主要对顶点着色器和像素着色器的功能、使用、语义等进行了详细阐述,并给出了实例解析;第16章给出了一个完整的用DirectX开发的RPG游戏实例,主要介绍了游戏开发的一个简单但完整的过程。
  对于初学者来说,按照本书的章节顺序进行阅读是很好的选择,书中所有的实例都是按照章节的内容有序安排的;而对于有经验的读者,可以按需要有选择地阅读。本书的特点是每章都有详细的实例程序,并且对程序代码进行了清晰的编号和详细的解释。可以作为高等院校游戏专业的教材,也可供游戏开发及研究人员参考。
  经过对本书的学习,你可以掌握DirectX游戏开发的基础知识。通过这些基础知识的学习,你甚至可以编写一个自己的游戏。祝学习愉快!
  本书附带的光盘中为书中主要实例的源程序,经测试可以在VC 2003及以上版本环境下运行。
  本书第4、7章及第12章的模板部分由王鹏杰编写,第1、2、11章和其余章节的实例部分由李威编写,其余内容由王聪和贾彦磊编写。在编写过程中本书参考和引用了很多现有的DirectX书籍和网络资源(见书后的参考文献列表),在此向原作者表示深深的谢意。最后,本书要特别感谢机械工业出版社华章分社的陈冀康编辑所给予的指导、帮助和鼓励。
  同时感谢关旭成、方郁、王江,他们为本书的编写做了大量的工作,没有他们的努力,本书是不可能顺利完成的。
王鹏杰
2009年10月25日于浙大紫金港

上架指导

计算机\程序设计

封底文字

作为《OpenGL游戏编程》的姊妹篇,本书也是游戏编程的入门书籍,不同的是选用了另一个非常流行的游戏软件开发包——DirectX进行游戏编程。当前,Direct3D已经成为3D游戏开发的主流技术,其流行程度已经超过OpenGL。因此对于欲进行3D游戏开发、图形处理、虚拟现实、仿真系统等领域的初学者来说,学习Direct3D是他们最好的起点。基于此,本书将在游戏开发的背景下,介绍了用Direct3D开发交互式3D图形程序的几乎所有主题。
本书的规划和设计融入了作者多年来对该课程教学的经验总结和思考。前半部分介绍了用Direct3D进行游戏开发的基本技术,包括游戏开发的基本数学知识、Direct3D开发的配置、开发框架、基本图形的绘制、文本显示、变换、纹理映射;后半部分根据DirectX技术的发展趋势,选讲了一些有生命力的技术,主要包括深度测试和反走样、网格、混合、模板以及顶点着色器和像素着色器等技术。
本书特色:
 突出“低门槛、重实践、精理论”的特色。
 内容翔实,实例丰富,完全从实战出发讲述Direct3D的基本理论及技术。并且实例中深入剖析一些目前市面图书中未涉及的实用技术细节。
 所有实例都力求实用、新颖、有趣,并取材于实际项目,具有极高的可复用价值,完全能在实际项目中“即插即用”。
 全书代码保持一种良好的编码风格,提供清晰的注释和详细的解释。
 深入剖析了vertex shader、pixel shader编程和HLSL语言等代表Direct3D技术趋势的新技术并给出大量的实例。

作者简介

王鹏杰 李威 王聪 编著:暂无简介

图书目录

前言
第1章3D游戏开发的数学基础
11点和向量
111点
112向量
12直线与平面
121直线方程
122平面方程
123直线与平面、平面与平面之间的关系
13矩阵与坐标变换
131矩阵
132二维几何变换
133齐次坐标
134三维几何变换
135投影变换
136裁剪操作
14坐标系
第2章DirectX快速入门
21DirectX概述
211DirectX的由来
212版本与功能
22Direct3D底层结构概述
221硬件抽象层
222硬件模拟层
223系统组成及相互关系
224Direct3D对象和Direct3D设备对象
23DirectX 90的配置和安装
231DirectX 90安装
232选择调试或发布库
233集成开发环境的配置
第3章DirectX程序框架
31Win32+C+Direct3D的基础框架
311创建新项目
312初始化Direct3D
313渲染函数
314结束处理
315消息处理
316程序入口
32DXUT框架
321创建一个DXUT 框架
322EmptyProjectcpp文件代码分析
323DXUT框架的生命周期
第4章文本显示
41文本绘制流程
42Win32程序框架实现
421创建字体对象
422绘制文本
423释放字体对象
43DXUT程序框架实现
431创建字体对象
432绘制文本
第5章基本图形的绘制
51图元
511点列表
512线段列表
513线段条带
514三角形列表
515三角形条带
516三角形扇
52坐标系
53灵活顶点格式(FVF)
54使用顶点缓存绘制图形
541创建顶点缓存
542访问顶点缓存
543使用顶点缓存绘制图形
55索引缓存
551创建索引缓存
552访问索引缓存
553使用索引缓存绘制图形
554获取顶点和索引缓存信息
56颜色表示法
57渲染状态
571着色模式
572多边形填充模式
58绘制准备
59D3DX几何物体
510实例设计与实现
5101基本图元的绘制实例
5102使用索引缓存绘制实例
第6章变换
61摄像机
62顶点变换
621局部坐标系
622世界坐标系
623观察坐标系
624光源
625投影变换
626友好的投影矩阵
627视口变换
63光栅化
64实例
641移动线框正方体实例
642不同颜色的正方体实例
第7章光照和材质
71真实感图形基本概念
72Direct3D中的光照
721光照的组成
722光源
723光源的设定
73Direct3D中的材质
731材质定义
732材质设置
74光照和材质小结
75光照和材质例子
751光源例子——SimpleLighting
752材质例子——MultiMaterial
第8章纹理映射
81纹理贴图
82纹理坐标
83纹理寻址模式
831重叠纹理寻址模式
832镜像纹理寻址模式
833钳位纹理寻址模式
834边界颜色纹理寻址模式
835一次镜像纹理寻址模式
836设置纹理模式
84纹理过滤
841最近点采样
842线性纹理过滤
843各向异性纹理过滤
844Mipmap纹理过滤
845设置纹理过滤方式
85纹理混合状态
86纹理实例解析
861纹理过程
862纹理过程流程图
863纹理寻址实例
864纹理过滤方式实例
第9章深度测试和反走样
91深度缓存与深度测试
911创建深度缓存
912激活深度测试
913设置深度测试函数
914更新深度缓存
92图形反走样
921检测设备是否支持多重采样
922启用多重采样的全景图形反走样
93深度测试实例
94反走样实例
第10章网格(一)
101ID3DXMesh
102子集和属性缓存
103绘制
104邻接信息
105优化
106属性表
107创建一个Mesh
108例子:从已有的顶点序列中创建一个网格
第11章网格(二)
111X文件格式解析
112读取X文件
113X文件的材质
114读X文件例子
115渐进网格
1151产生一个渐进网格
1152ID3DXPMesh方法
116渐进网格例子
第12章混合和模板
121混合因子
122混合计算
1221启用Alpha混合
1222设置Alpha混合因子
1223设置Alpha混合方法
123Alpha来源
1231顶点Alpha
1232材质Alpha
1233纹理Alpha
124Alpha测试
125Alpha混合实例
1251顶点Alpha实例
1252纹理Alpha实例
126模板
1261模板缓存的格式
1262模板测试
1263模板绘制状态
1264模板实例解析
第13章着色器入门
131着色器概述
1311顶点着色器和像素着色器
1312手法和渲染路径
1313GLSL与HLSL的比较
1314Cg与HLSL的比较
132HLSL的变量
1321标量
1322向量
1323矩阵
1324对象
1325结构体
1326用户自定义类型
1327变量类型的转换
1328修饰变量的关键字
1329变量重组
133HLSL的函数
1331内置函数
1332自定义函数
134HLSL基本语法
1341数学表达式
1342HLSL的关键字和保留字
135在Direct3D中使用HLSL
1351简单的实例
1352版本的查询
第14章顶点着色器
141顶点着色器概述
142顶点声明
1421描述顶点声明
1422创建和使用顶点声明
1423顶点声明与HLSL输入
143使用顶点着色器
1431编写并编译顶点着色器程序
1432创建顶点着色器
1433设置顶点着色器
1434销毁顶点着色器
144顶点着色器实例1:TeapotVS
145顶点着色器实例2:渐变动画MorphingVS
第15章像素着色器
151像素着色器概述
152使用像素着色器
1521测定像素着色器的支持
1522编译像素着色器
1523创建像素着色器接口
1524设置像素着色器
1525销毁像素着色器接口
153HLSL采样器对象
154多重纹理
1541允许多个纹理
1542编写顶点结构
155例子程序:像素着色器实现多纹理MultiTex
第16章一个游戏实例
161前言
162游戏整体架构
163游戏初始化
1631逻辑模块初始化
1632渲染模块初始化
1633声效模块初始化
164场景渲染
165游戏控制
166声效控制
参考文献

教学资源推荐
作者: 苏运霖
作者: 皮德常 编著
作者: Alfred V. Aho;Monica S.Lam;Ravi Sethi;Jeffrey D. Ullman
作者: 【美】梁勇(Y.Daniel Liang) 著
参考读物推荐