图书介绍
3D游戏程序设计基础【2025|PDF|Epub|mobi|kindle电子书版本百度云盘下载】

- 金禾工作室编著 著
- 出版社: 北京:兵器工业出版社
- ISBN:7801727118
- 出版时间:2006
- 标注页数:388页
- 文件大小:136MB
- 文件页数:402页
- 主题词:三维-动画-游戏-软件开发
PDF下载
下载说明
3D游戏程序设计基础PDF格式电子书版下载
下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!
(文件页数 要大于 标注页数,上中下等多册电子书除外)
注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具
图书目录
第1章 第一个3D程序1
1.1 3D空间初体验2
1.1.1 视窗2
1.1.2 3D世界的坐标3
1.1.3 右手坐标系3
1.1.4 左手坐标系4
1.1.5 Direct3D和OpenGL4
1.1.6 采用右手坐标系的优点4
1.2 如何设定视窗的视野范围5
1.2.1 默认值6
1.2.2 系统变量6
1.2.3 单位的意义6
1.2.4 决定视窗与Camera的距离7
1.2.5 决定视窗的大小7
1.2.6 决定观察的最远距离8
1.3 创建第一个D3D程序9
1.3.1 本书使用的软件工具9
1.3.2 安装软件注意事项9
1.3.3 开始安装DirectX 910
1.3.4 以EmptyProject建立D3D程序11
1.4 D3D基本Framework解说16
1.4.1 InitApp()21
1.4.2 IsDeviceAcceptable()22
1.4.3 ModifyDeviceSettings()23
1.4.4 OnCreateDevice()25
1.4.5 OnResetDevice()26
1.4.6 OnFrameMove()27
1.4.7 OnFrameRender()28
1.4.8 OnLostDevice()32
1.4.9 OnDestroyDevice()32
1.5 在视窗中加入一个三角形33
1.5.1 介绍3D中的数据项33
1.5.2 准备顶点信息34
1.5.3 设定Material41
1.5.4 着色状态值的设定45
1.5.5 将World Matrix初始化47
1.5.6 View Matrix的设定47
1.5.7 Projection Matrix的设定48
1.5.8 建立光源50
1.5.9 设定CullMode52
1.5.10 转动三角形53
1.5.11 画出三角形55
1.5.12 释放资源56
1.6 D3D名词解释57
1.6.1 什么是Device57
1.6.2 CPU、3D显卡与效能的关系58
1.6.3 Buffer是一种内存吗59
1.6.4 Vertex Buffer和Buffer有什么不同60
1.6.5 3D中的颜色值——Color Value RGBA63
1.6.6 Normal Vector与Light Vector64
1.6.7 Color Buffer是什么样的内存67
1.6.8 Depth Buffer与Z Buffer69
1.6.9 Full Screen是全屏幕吗71
第2章 加上贴图效果75
2.1 由三角形到正方形76
2.1.1 正方形的组成76
2.1.2 介绍Index Buffer76
2.1.3 使用Index Buffer建立正方形77
2.2 关于材质与贴图83
2.2.1 什么是贴图83
2.2.2 认识贴图坐标83
2.2.3 其他贴图方法85
2.3 Texture技巧演练86
2.3.1 建立Texture相关程序代码86
2.3.2 介绍SetTextureStageState()函数91
2.3.3 D3D中Color值的运算94
2.3.4 Filter与贴图的关系98
第3章 从平面到立体99
3.1 制作每个面都有贴图的立方体100
3.1.1 立方体共点时的贴图问题100
3.1.2 解决问题101
3.2 打造一个六面不同贴图的立方体101
3.2.1 准备Vertex Buffer101
3.2.2 填入Vertex Data107
3.2.3 准备贴图109
第4章 贴图效果的进一步介绍113
4.1 建立一片漂亮的地板114
4.1.1 建立地板的准备工作114
4.1.2 着手建立地板的程序代码115
4.2 试试各种贴图方法119
4.2.1 Wrap(Repeat)贴图法119
4.2.2 Clamp贴图法121
4.2.3 Mirror贴图法123
4.3 改进贴图品质125
4.3.1 分辨率不足的问题125
4.3.2 介绍MipMap贴图取样127
4.3.3 MipMap与Filter贴图取样的比较130
第5章 移形换位——坐标变换133
5.1 空间坐标变换134
5.1.1 3D空间中旋转的基本概念134
5.1.2 投影的坐标变换(Projection)137
5.1.3 位移的坐标变换(Translation)139
5.1.4 旋转的坐标变换(Rotation)142
5.1.5 矩阵具有结合律143
5.1.6 World Matrix144
5.1.7 View Matrix145
5.1.8 Projection Matrix146
5.1.9 位移效果的矩阵函数146
5.1.10 旋转效果的矩阵函数148
5.1.11 World Space与Object Space150
5.1.12 矩阵相乘不具备交换律151
5.2 给地板施定身法155
5.2.1 找出画地板前的World Matrix155
5.2.2 声明一个单位矩阵指定给地板156
5.2.3 关闭PUREDEVICE158
5.3 让Camera自由走动159
5.3.1 增加Camera移动的按键控制159
5.3.2 声明变量来储存Camera的位置161
5.3.3 使用矩阵函数164
5.3.4 使用MatrixStack for Rotating Cube167
5.3.5 使用MatrixStack for Camera并加上旋转功能171
5.3.6 如何让Camera绕着自己的坐标系旋转和移动180
第6章 模型加载介绍185
6.1 用Vertex Buffer建立模型186
6.1.1 建立墙面的Vertex Buffer186
6.1.2 正式在OnFrameRender()里画出墙面189
6.1.3 在OnDestroyDevice()里释放资源190
6.1.4 修改Camera的位置及步伐191
6.2 使用3ds max制作含Material的模型192
6.2.1 在3ds max中加入转文件程序193
6.2.2 如何简单制作模型193
6.2.3 设定模型的Material194
6.2.4 将模型Export出去197
6.3 在场景中加载3ds max模型199
6.3.1 把程序与s3d_model.lib做连结199
6.3.2 在程序中加载含Material的模型201
6.4 激活Specular效果206
6.4.1 激活Specular的步骤206
6.4.2 动手开启Specular的光源设定207
6.5 使用3ds max的Texture模型209
6.5.1 如何在Max中设定模型Texture210
6.5.2 将含Texture的模型加入场景213
第7章 激活光源效果219
7.1 物体的受光原理220
7.1.1 红花为什么那样红220
7.1.2 黑色头发会反射黑光吗221
7.2 为3D世界建立光源221
7.2.1 光源的种类221
7.2.2 光源的位置与方向221
7.2.3 如何激活光源效果223
7.2.4 在场景中加入Point Light223
7.2.5 在场景中标记光源的位置228
7.2.6 在场景中加入Spot Light230
7.2.7 在场景中标记光源的方向236
7.3 制作迷人的舞台灯光效果238
7.3.1 让灯光动起来238
7.3.2 制作明暗不定的多彩灯光241
7.3.3 让Cube也动起来吧248
7.4 顶点数与光源的关系249
7.4.1 计算顶点的颜色249
7.4.2 增加顶点数量来强化光源效果250
7.4.3 动态调整地板顶点数量的小程序251
7.4.4 动态地调整墙壁的顶点数量261
7.4.5 增加光源开关的机制269
第8章 若隐若现的透明效果281
8.1 为透明作准备282
8.1.1 更新模型282
8.1.2 使用Material填入Square的颜色284
8.1.3 关于Color Operation的疑惑289
8.1.4 使用Texture Factor填入Square的颜色290
8.1.5 让Cube动起来293
8.1.6 再复制一个Cube295
8.2 正式进入透明的殿堂302
8.2.1 透明的定义302
8.2.2 设定透明的步骤303
8.2.3 为Material Square透明化303
8.2.4 为Texture Factor Square透明化311
8.2.5 把Cube也一起透明化吧314
8.2.6 Cull Face的设定319
第9章 绚丽的镜面反射效果321
9.1 为反射效果做准备322
9.1.1 更换模型322
9.1.2 整理OnFrameRender()323
9.2 反射技巧第一步——地板透明化327
9.2.1 复习透明的步骤327
9.2.2 动态控制地板的透明度331
9.3 反射技巧第二步——画出反射对象334
9.3.1 认识Scale矩阵334
9.3.2 利用Scale矩阵做出反射效果335
9.3.3 改变反射对象的旋转方向336
9.3.4 画出反射的Cube337
9.3.5 探讨画出反射Cube失败的原因339
9.3.6 修正反射部分的光线344
9.3.7 画出其他反射对象347
9.4 反射技巧第三步——Stencil Buffer350
9.4.1 请Stencil Buffer登场351
9.4.2 设定Stencil Buffer内存352
9.4.3 Clear Stencil Buffer356
9.4.4 在Stencil Buffer里做记号357
9.4.5 Stencil Test361
9.4.6 将所有地板下的反射对象都藏起来吧363
第10章 阴影效果368
10.1 为阴影做准备369
10.1.1 更换模型369
10.1.2 阴影的形成过程370
10.2 为Cube画出阴影371
10.2.1 设定投影的变换矩阵371
10.2.2 设定阴影的颜色及透明度374
10.2.3 画出Cube的阴影376
10.3 阴影重叠的问题377
10.3.1 画出其他对象的阴影377
10.3.2 发现阴影破碎的问题381
10.4 解决阴影重叠问题381
10.4.1 向硬件寻找可以使用Stencil Buffer功能组合382
10.4.2 使用Stencil Buffer解决阴影破碎问题382
热门推荐
- 2055653.html
- 163391.html
- 2459516.html
- 1453171.html
- 223577.html
- 811586.html
- 2302182.html
- 1494474.html
- 759952.html
- 3345182.html
- http://www.ickdjs.cc/book_1703603.html
- http://www.ickdjs.cc/book_2743842.html
- http://www.ickdjs.cc/book_1554924.html
- http://www.ickdjs.cc/book_1394136.html
- http://www.ickdjs.cc/book_2611659.html
- http://www.ickdjs.cc/book_796542.html
- http://www.ickdjs.cc/book_2352508.html
- http://www.ickdjs.cc/book_1390391.html
- http://www.ickdjs.cc/book_2863453.html
- http://www.ickdjs.cc/book_2586829.html