出版时间:2012-4 出版社:清华大学出版社 作者:姚莉 页数:275
Tag标签:无
内容概要
《3d图形编程基础——基于directx 11》介绍如何利用directx
11的direct3d开发交互式3d图形程序。首先介绍必要的数学基础;然后结合direct3d介绍3d图形的基本实现过程,例如颜色、纹理、光照、模板等;接着对3d图形的部分应用主题进行了详细介绍,例如粒子系统、拾取等;最后对direct3d的图形渲染管道的各个阶段进行了介绍,特别是对direct3d
11的新技术进行了详细描述。
《3d图形编程基础——基于directx
11》可作为大学本科和研究生3d游戏编程课程参考书和培训教材,也可供广大3d图形游戏编程用户学习和参考。
书籍目录
第一部分 数学基础
第1章 向量
1.1向量的概念
1.2向量的长度及规范化
1.3向量的加法和减法
1.4数乘
1.5点积
1.6叉积
1.7齐次坐标
1.8xna向量
1.9本章 小结
第2章 矩阵
2.1矩阵定义
2.2矩阵乘法
2.3矩阵的转置
2.4单位矩阵
2.5逆矩阵
2.6xna矩阵
2.7本章 小结
第3章 矩阵变换
3.1基本变换
3.2xna矩阵变换函数
3.3几何变换的组合
3.4本章 小结
第二部分 direcod基础
第4章 direct3d 11概述
4.1directx概述
4.2direct3d 11新特性
4.3direct3d 11与opengl 4.0比较
4.4direct3d 11与direct3d 10渲染管线比较
4.5着色器概述
4.6各个管线阶段
4.7本章 小结
第5章 初始化direct3d
5.1一些准备工作
5.2初始化direct3d
5.3本章 小结
第6章 hlsl入门
6.1effect文件
6.2高级着色语言
6.3effect框架
6.4本章 小结
第7章 direct3d11中的绘制
7.1三维图元
7.2三角形的绘制
7.3基于effect框架的立方体绘制
第8章 颜色
8.1direct3d中的颜色表示
8.2顶点颜色
8.3着色处理
8.4实例程序:colorcube
8.5本章 小结
第9章 光照
9.1光照与材质
9.2顶点法线
9.3光照类型
9.4光源类型
9.5光照实例
9.6本章 小结
第10章 纹理
10.1纹理坐标
10.2创建并使用纹理
10.3纹理过滤器
10.4纹理采样
10.5纹理寻址模式
10.6实例:木箱
10.7本章 小结
第11章 混合
11.1开启混合
11.2混合公式的设置
11.3应用颜色混合
11.4本章 小结
第12章 模板
12.1建立缓存区
12.2建立缓存视图
12.3创建模板描述和模板状态对象
12.4使用模板缓存
12.5本章 小结
第三部分 direct3d应用
第13章 相机设计
13.1基本概念
13.2camera设计
13.3camera工作原理
13.4camera的实现
13.5camera的使用
13.6本章 小结
第14章 网格
14.1obj格式介绍
14.3本章 小结
第15章 粒子系统
15.1粒子系统的工作原理
15.2粒子系统的设计
15.3粒子系统的实现
15.4本章 小结
第16章 拾取
16.1拾取流程
16.2求拾取射线
16.3射线—物体相交判断
16.4本章 小结
第四部分 direct3d 11渲染管线及高级主题
第17章 输入装配阶段
17.11a阶段的步骤
17.2图元拓扑类型
17.3不需要输入缓存的ia阶段
17.4本章 小结
第18章 顶点着色阶段
18.1顶点着色器的设置步骤
18.2进行空间变换
18.3例程:人物波动
18.4例程:顶点光照
18.5本章 小结
第19章 曲面细分技术
19.1direct3d 11中的曲面细分
19.2新的渲染阶段
19.3实例1:简单的曲面细分的例子
19.4实例2:利用曲面细分实现置换纹理映射
19.5本章 小结
第20章 几何着色阶段
20.1几何着色器的设计
20.2几何着色器的使用
20.3本章 小结
第21章 流输出阶段和光栅化阶段
21.1流输出阶段
21.2光栅化阶段
21.3本章 小结
第22章 绘制阶段
22.1像素着色阶段
22.2合并输出阶段
22.3本章 小结
第23章 计算着色器
23.1计算着色器的介绍
23.2计算着色器线程和线程组
23.3计算着色器状态
23.4实例:分形算法
23.5本章 小结
附录awindows编程基础
a.1语言的选择
a.2“类”和类
a.3人口函数
a.4注册窗口“类”并创建窗口
a.5显示窗口并处理消息队列
a.6响应消息
附录bxna数学库
b.1编译指令
b.2常量
b.3宏命令
b.4结构和类型
b.5函数
参考文献
章节摘录
版权页: 插图: 三维(3D)图形试图在计算机上模拟真实的世界,但计算机是一个处理数据的工具,因此用数据来描述虚拟世界就成为一个很重要的过程,数学则成为编写图形程序必不可少的基础。 本部分将介绍学习本书所需要的基本数学知识,包括向量、矩阵和相应的变换等方面的内容,这些知识几乎在本书所有的例子程序中都有所涉及。本书在介绍数学概念的同时,阐述了一些Direct3D 11中对应的类或数据结构,以增加读者对这些知识的理解。 需要说明的是,本书不可能在有限的篇幅内阐述所有计算机图形学所涉及的数学知识,而只能就使用最多的一些数学知识简单地进行一些讲解,如果读者希望了解更详细的内容,可参考相应的数学书籍。 向量是图形程序中最为基础的数学工具,可以用来向量表示位置、方向、速度和作用力等。本章将介绍向量的相关概念及其操作方法。 目标: •熟悉向量的定义和表示方式。 •学习向量的运算,包括加、减、数乘、点乘和叉积。 •学习向量的标准化。 •了解坐标系和齐次坐标。 •学习XNA库中向量的表示和操作方法。 1.1 向量的概念 在数学中,既有方向又有大小的线段叫做向量(又称为矢量)。 向量与位置无关。具有同样长度和方向的两个向量是相等的,即使它们在不同的位置上。 1.1.1 向量的表示 向量最初被应用于物理学。数学中的向量概念是从复数中引入的。在数学上表示向量有如下3种方式。 (1)几何表示:规定了起点和终点的线段叫做有向线段,可以使用一条有向线段来表示一个向量。有向线段的长度表示向量的大小,箭头所指的方向表示向量的方向。起点不固定的向量叫做自由向量,数学中研究的向量都是自由向量。 (2)坐标表示:在坐标系中对向量进行平移,使其起点与坐标原点重合,用此时向量终点的坐标来表示该向量。在图形编程中,一般只需要处理二维和三维向量,这两种坐标系下向量的坐标分别为a=(x,y)和b=(x,y,z),其中x,y,z称为向量的分量。 注意:因为向量和点的坐标表示是一样的,都是表示为一个有序数集,所以读者在遇到一个坐标值时,需要首先根据上下文判断出它是用于表示一个向量还是表示一个点。这二者的差别在于,点描述的是位置信息,而向量同时描述了长度和方向信息。 (3)线性组合表示:向量还可以表示为如下形式:a=ux×i+uy×j+uz﹡k,其中,i,j,k分别表示与x,y,z轴平行的单位向量。向量的这种表示方法和坐标表示是一一对应的,如:1i—2i+3z=(1,2,3)。 注意:本书中向量的记法:本书中统一使用小写的黑斜体字母来标记向量,比如:a=(1,2,3)。 1.1.2 左手坐标系和右手坐标系 三维空间有多种表示方法,最常用的是笛卡儿坐标系。三维笛卡儿坐标系基于3条相。
媒体关注与评论
移动互联网的发展为人们的日常生活带来了革命性的创新,用户体验越来越成为业务开发的最大驱动力,三维图形技术将在未来的技术发展和应用中提供重要的支撑。本书是一本不可多得的三维图形技术专著,理论与实践兼顾,它将逐步引领读者领略三维编程的奥妙!本书作者在三维图形处理方面有深厚积累,希望通过本书,为大家分享专业的处理技术和丰富的业务应用。 ——罗圣美(中兴通讯有限公司首席架构师) 作为微软定制的一套全新的图形APl标准,DirectXll给图形开发者以及用户提供了极大的想象空间。本书通过丰富的例程深入浅出地介绍了利用DirectXll进行3D编程的原理和方法。我相信无论是初学者还是有一定经验的3D图形开发人员都能从此书中获益。 ——刘钢(盛大游戏资深图形系统架构师) 从事游戏开发多年,有很多朋友经常问我:如何才能进入这行?如何开始学习游戏开发?事实上开发游戏是充满挑战性的,需要开发人员具备大量的知识和技能,而这本书就是让你具备这些知识的最好切入点。希望这本书能帮助大家早日实现自己的游戏梦想。 ——洪怡俊(盛大游戏资深引擎开发工程师)
编辑推荐
《21世纪高等学校数字媒体专业规划教材•3D图形编程基础:基于DirectX 11》可作为大学本科和研究生3D游戏编程课程参考书和培训教材,也可供广大3D图形游戏编程用户学习和参考。《21世纪高等学校数字媒体专业规划教材•3D图形编程基础:基于DirectX 11》内容丰富而系统,基础内容和扩展性主题相结合。本书涉及了计算机图形学的主要内容,包括三维空间变换和基本算法、光照与材质、纹理映射、粒子系统等,结合Direct3D可编程渲染管线介绍了着色器编程、粒子系统、曲面细分等高级绘制内容。具有知识性和实用性相结合的特点。本书在讲述原理的同时,采用实例教学法,使读者既能够基于Direct3D 11迅速编写自己的三维图形程序,又能够了解相关的图形学基本原理和最新技术。
名人推荐
移动互联网的发展为人们的日常生活带来了革命性的创新,用户体验越来越成为业务开发的最大驱动力。三维图形技术将在未来的技术发展和应用中提供重要的支撑。本书是一本不可多得的三维图形技术专著,理论与实践兼顾,它将逐步引领读者领略三维编程的奥妙!本书作者在三维图形处理方面有深厚积累,希望通过本书,为大家分享专业的处理技术和丰富的业务应用。 ——罗圣美(中兴通讯有限公司首席架构师) 作为微软定制的一套全新的图形API标准,DirectX 11给图形开发者以及用户提供了极大的想象空间。本书通过丰富的例程深入浅出地介绍了利用DirectX 11进行3D编程的原理和方法。我相信无论是初学者还是有一足经验的3D图形开发人员都能从此书中获益。 ——刘钢(盛大游戏资深图形系统架构师) 丛事游戏开发多年。有很多朋友经常问我:如何才能进入这行?如何开始学习游戏开发?事实上开发游戏是充满挑战性的。需要开发人员具备大量的知识和技能,而这本书就是让你具备这些知识的最好切入点。希望这本书能帮助大家早日实现自己的游戏梦想。 ——洪怡俊(盛大游戏资深引擎开发工程师)
图书封面
图书标签Tags
无
评论、评分、阅读与下载