第一图书网

DirectX游戏编程

王鹏杰 李威 王聪 机械工业出版社
出版时间:

2010-2  

出版社:

机械工业出版社  

作者:

王鹏杰 李威 王聪  

页数:

272  

Tag标签:

无  

前言

作为《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书籍和网络资源(见书后的参考文献列表),在此向原作者表示深深的谢意。最后,本书要特别感谢机械工业出版社华章分社的陈冀康编辑所给予的指导、帮助和鼓励。 同时感谢关旭成、方郁、王江,他们为本书的编写做了大量的工作,没有他们的努力,本书是不可能顺利完成的。

内容概要

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

书籍目录

前言 第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.1 DirectX概述   2.1.1 DirectX的由来   2.1.2 版本与功能  2.2 Direct3D底层结构概述   2.2.1 硬件抽象层   2.2.2 硬件模拟层   2.2.3 系统组成及相互关系   2.2.4 Direct3D对象和Direct3D设备对象  2.3 DirectX 9.0的配置和安装   2.3.1 DirectX 9.0安装   2.3.2 选择调试或发布库   2.3.3 集成开发环境的配置 第3章 DirectX程序框架  3.1 Win32+C+Direct3D的基础框架   3.1.1 创建新项目   3.1.2 初始化Direct3D   3.1.3 渲染函数   3.1.4 结束处理   3.1.5 消息处理   3.1.6 程序入口  3.2 DXUT框架   3.2.1 创建一个DXUT 框架   3.2.2 EmptyProject.cpp文件代码分析   3.2.3 DXUT框架的生命周期 第4章 文本显示  4.1 文本绘制流程  4.2 Win32程序框架实现   4.2.1 创建字体对象   4.2.2 绘制文本   4.2.3 释放字体对象  4.3 DXUT程序框架实现   4.3.1 创建字体对象   4.3.2 绘制文本 第5章 基本图形的绘制 第6章 变换 第7章 光照和材质 第8章 纹理映射 第9章 深度测试和反走样 第10章 网格(一) 第11章 网格(二) 第12章 混合和模板 第13章 着色器入门 第14章 顶点着色器 第15章 像素着色器 第16章 一个游戏实例 参考文献

章节摘录

插图:(1)世界坐标系构建各种物体模型时,每个模型都位于其自身的局部坐标系中。我们还需要将这些物体组织在一起构成世界坐标系(全局坐标系)中的场景。世界坐标系变换就是将物体顶点坐标从模型自己局部的坐标系空间转换到世界空间。如图1-16所示是世界坐标系和模型的局部坐标系的对比。在模型空间里,顶点位置坐标依据模型的本地坐标系的原点而定,在世界空间里,所有模型的顶点共用一个原点,即世界坐标系原点。世界坐标系是一个特殊的坐标系,它建立了描述其他坐标系所需要的参考框架。从非技术意义上讲,世界坐标系所建立的是整个场景的“最大”坐标系,其他的坐标系都是参考它来建立的。世界坐标系也被广泛地称为全局坐标系或者宇宙坐标系。对于整个场景中的每个物体,它的位置和方向一般都是指它在世界坐标系中的值,它是一个绝对坐标,不随观察者方向的变化而变化。(2)本地坐标系 本地坐标系也叫局部坐标系(10cal space)或模型坐标系(modeling space),是用于定义构成物体的三角形单元列表的坐标系。采用局部坐标系的优势体现在它可以简化建模过程。在物体的局部坐标系中建模要比直接在世界坐标系中容易得多。例如,本地坐标系允许我们构建模型时无须考虑位置、大小或相对于场景中其他物体的朝向。图1.15中显示了物体与本地坐标系的关系,图1-16中显示了世界坐标系与本地坐标系之间的关系。那么你可能会问,既然有了世界坐标系可以确定物体的位置,那么还要本地坐标系做什么呢?本地坐标系在3D世界中处处存在,每个物体发生移动或改变方向时,与该物体相关联的本地坐标系也随之移动或改变方向,这将大大简化我们对各个物体模型的控制。比如我们要绘制一个机器人模型,我们可以建立其物体局部坐标系,在坐标系原点处绘制其身躯,然后向上平移绘制其头部和左右手,向下平移绘制其左右腿和脚。


编辑推荐

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

图书封面

图书标签Tags

广告

下载页面


DirectX游戏编程 PDF格式下载



买它是冲着最后一章有个综合例子,不像其他书基本上像帮助文档。
刚到手,就看最后一章,却发现最后一章只是简单介绍下。是最少内容的一章。
书前言说可在vc2003以上运行,我把最后一章(第16章)附的源程序,用vc2003却打不开,说是高版本创建的。我又用vc2005+directx sdk(march 2008)编译居然出现一大堆错误:先是提示找不到lua.h……,我看了源程序中有:lua-vc6文件夹,就设置了包含的路径:。。。\lua-vc6\include后,编译又出现N多个:'luaL_openlibs': identifier not found
vc2008也一样出错。简直是气死人了。


很不错,超值,很适合我!


没有耐心,与发展稍有出入


DIRECTX 开发入门级教程


相关图书