图书介绍

Direct3D技术内幕【2025|PDF|Epub|mobi|kindle电子书版本百度云盘下载】

Direct3D技术内幕
  • (美)Peter J.Kovach著;李晔等译 著
  • 出版社: 北京:清华大学出版社
  • ISBN:7900635270
  • 出版时间:2001
  • 标注页数:361页
  • 文件大小:24MB
  • 文件页数:380页
  • 主题词:

PDF下载


点此进入-本书在线PDF格式电子书下载【推荐-云解压-方便快捷】直接下载PDF格式图书。移动端-PC端通用
种子下载[BT下载速度快]温馨提示:(请使用BT下载软件FDM进行下载)软件下载地址页直链下载[便捷但速度慢]  [在线试读本书]   [在线获取解压码]

下载说明

Direct3D技术内幕PDF格式电子书版下载

下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。

建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!

(文件页数 要大于 标注页数,上中下等多册电子书除外)

注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具

图书目录

第1章 DirectX基础1

1.1 DirectX API2

1.1.1 DirectDraw2

1.1.2 Direct3D2

1.1.3 DirectMusic3

1.1.4 DirectSound3

1.1.5 DirectPlay3

1.1.6 DirectInput4

1.1.7 DirectSetup4

1.2 Direct3D作为DirectX API时的工作方式4

1.3 使用DirectX API所应了解的知识5

1.3.1 什么是COM对象5

1.3.2 AddRef和Release方法的用途6

1.3.3 C和C++调用DirectX方法的差别6

1.3.4 返回代码7

1.5 结束语8

1.4 Direct3D Framework8

第2章 Direct3D程序中的Windows代码9

2.1 Windows代码的组织方法9

2.1.1 用于指定所包含文件和定义CUID的代码10

2.1.2 CMyD3DApplication和CD3DApplication类11

2.1.3 建立主窗口和消息处理14

2.1.4 建立消息处理循环16

2.1.5 建立应用程序的窗口进程21

2.2 目前的程序代码28

2.3 结束语29

第3章 创建Direct3D程序的DirectDraw30

3.1 DirectDraw和多显示器31

3.2 建立DirectDraw32

3.3 创建保存所列举设备的数据结构33

3.4 列举DirectDraw设备34

3.5 创建DirectDraw对象38

3.6 列举显示模式39

3.7 列举Direct3D设备41

3.8 选择Direct3D设备44

3.9 利用CD3DFramework7对象初始化DirectDraw46

3.10 设定协作级别52

3.11 创建表面54

3.11.1 前缓冲区、后缓冲区和裁剪程序55

3.11.2 全屏幕缓冲区55

3.11.3 窗口模式缓冲区59

3.12 界面的翻动62

3.13 目前的程序代码64

3.14 结束语65

第4章 用于DirectX应用程序的Direct3D66

4.1 Direct3D Immediate Mode的对象和接口66

4.1.1 DirectDraw对象66

4.1.2 DirectDrawSurface对象66

4.1.3 Direct3DDevice对象67

4.2 创建Immediate Mode的应用程序68

4.1.4 Direct3DVertexBuffer对象68

4.2.1 步骤1:初始化应用程序70

4.2.2 步骤2:判定DirectX的版本70

4.2.3 步骤3:列举可用的Direct3D设备71

4.2.4 步骤4:选择Direct3D设备71

4.2.5 步骤5:获取IDirectDraw7接口72

4.2.6 步骤6:从IDirectDraw7获取IDirect3D7接口并创建Direct3D设备73

4.2.7 步骤7:创建深度缓冲区82

4.3 目前的程序代码87

4.4 结束语88

第5章 Direct3D顶点及转换和照明流水线89

5.1 T L流水线概述89

5.1.1 世界转换90

5.1.2 视图转换91

5.1.3 照明92

5.1.4 投影转换和观察平截面92

5.1.5 裁剪93

5.1.6 除以w或非均匀94

5.1.7 视口缩放94

5.2 顶点94

5.2.1 灵活的顶点格式95

5.2.2 左手和右手坐标系96

5.2.3 跨距顶点格式96

5.2.4 顶点缓冲区98

5.3 建立T L流水线矩阵99

5.3.1 世界矩阵99

5.3.2 观察矩阵104

5.3.3 投影矩阵104

5.4 视口105

5.4.1 创建视口106

5.4.2 建立视口106

5.4.3 清理视口107

5.5 照明108

5.5.1 环境光109

5.5.2 直射光110

5.5.3 光的颜色与材料颜色111

5.5.4 光的类型111

5.5.5 光的属性113

5.5.6 设置光的属性116

5.5.7 检索光的属性117

5.5.8 启用和禁用照明引擎118

5.5.9 启用和禁用某种光118

5.6 目前的程序代码118

5.7 结束语119

第6章 渲染3D图元120

6.1 BeginScene和EndScene方法120

6.2 索引和无索引图元121

6.3 DrawPrimitive方法122

6.3.1 DrawPrimitive122

6.3.2 DrawPrimitiveStrided123

6.3.3 DrawPrimitiveVB124

6.3.4 DrawIndexedPrimitive125

6.3.5 DrawIndexedPrimitiveStrided126

6.3.6 DrawIndexedPrimitiveVB127

6.4 图元的类型127

6.4.1 点列表128

6.4.2 线列表130

6.4.3 线条131

6.4.4 三角形列表133

6.4.5 三角条形134

6.4.6 三角扇形136

6.5 设置渲染状态137

6.5.1 Alpha混合状态139

6.5.2 Alpha测试状态139

6.5.3 环境光状态140

6.5.4 消除锯齿状态140

6.5.7 清除状态141

6.5.5 裁剪状态141

6.5.6 颜色键控状态141

6.5.8 深度缓冲状态142

6.5.9 填充状态143

6.5.10 雾化状态143

6.5.11 照明状态144

6.5.12 轮廓状态144

6.5.13 单项点颜色状态144

6.5.14 阴影状态145

6.5.15 模板缓冲状态145

6.5.16 纹理透视状态146

6.5.17 纹理包装状态147

6.5.18 顶点颜色照明状态147

6.5.19 Z偏差状态147

6.6 内插值:Gouraud阴影和扩散照明148

6.7.1 调用模型149

6.7 创建3D应用程序149

6.7.2 设备初始化150

6.7.3 处理每帧的活动性151

6.7.4 渲染帧151

6.8 目前的程序代码151

6.9 结束语152

第7章 键盘和游戏杆输入154

7.1 创建DirectInput对象154

7.2 获取键盘、鼠标或游戏杆160

7.3 力反馈173

7.3.1 创建力175

7.3.2 创建DirectInput力176

7.4 结束语185

第8章 纹理186

8.1 纹理坐标186

8.2 创建纹理表面187

8.3 纹理管理195

8.4 纹理压缩197

8.4.1 DXT格式197

8.4.2 使用DXT表面199

8.5 多纹理映射203

8.5.1 创建多纹理映射纹理204

8.5.2 访问多纹理映射级别206

8.5.3 设置多纹理映射LOD偏移量207

8.6 纹理过滤208

8.6.1 最近点取样208

8.6.2 线性纹理过滤209

8.6.3 各向异性的纹理过滤210

8.6.4 多纹理映射纹理过滤210

8.7 纹理接口指针211

8.8 纹理阶段212

8.9 纹理混合215

8.9.1 多遍纹理混合215

8.9.2 单遍多纹理混合217

8.9.3 凸起花纹映射220

8.10 纹理寻址模式226

8.10.1 边框颜色纹理寻址模式226

8.10.2 夹持纹理寻址模式227

8.10.3 镜像纹理寻址模式227

8.10.4 包装纹理寻址模式228

8.11 纹理包装处理229

8.12 目前的程序代码230

8.13 结束语231

第9章 雾化处理232

9.1 雾化处理公式233

9.2 创建雾化效果234

9.3 像素雾化238

9.4 目前的程序代码241

9.5 结束语247

10.1 利用帧缓冲区混合249

第10章 Alpha混合处理249

10.2 特殊效果251

10.2.1 有雾环境中的发射对象252

10.2.2 镜头眩光252

10.2.3 照明图253

10.2.4 有色玻璃253

10.3 Alpha测试254

10.4 颜色键控透明性255

10.5 Alpha可用的调色板化纹理257

10.6 利用Alpha的纹理阶段257

10.7 遗留混合模式和纹理阶段258

10.8 Alpha自左乘与非自左乘260

10.9 目前的程序代码260

10.10 结束语261

第11章 照明映射和环境映射262

11.1 照明映射262

11.1.1 多遍纹理混合的照明映射265

11.1.2 纹理阶段照明映射266

11.2 环境映射269

11.2.1 球形环境映射图270

11.2.2 立方体环境映射图271

11.3 目前的程序代码276

11.4 结束语276

第12章 模板缓冲区278

12.1 创建模板缓冲区278

12.2 清除模板缓冲区282

12.3 配置模板处理状态283

12.4 创建效果286

12.4.1 合成效果286

12.4.3 消融287

12.4.4 淡入淡出效果287

12.4.2 贴画效果287

12.4.5 轮廓线效果288

12.4.6 测影效果288

12.4.7 滑入效果288

12.4.8 阴影效果288

12.5 ShadowVol和ShadowVo12演示程序289

12.6 目前的程序代码290

12.7 结束语290

第13章 加载3D模型并为之添加动画效果292

13.1 动画角色292

13.1.1 分段式角色292

13.1.2 单网格角色293

13.2 加载和控制RoadRage模型294

13.3 目前的程序代码299

13.4 结束语300

14.2 保存纹理内存301

14.2.1 AGP内存301

第14章 Direct3D应用程序的优化301

14.1 Direct3D Framework301

14.2.2 纹理映射图压缩303

14.3 增强3D效果303

14.3.1 多纹理处理303

14.3.2 三重缓冲304

14.3.3 真彩色渲染304

14.4.2 顶点缓冲区305

14.4.3 批量处理DrawPrimitive调用305

14.4.1 ComputeSphereVisibility305

14.4 优化几何图形处理305

14.4.4 浮点精度以及多线程SetCooperativeLevel标志306

14.4.5 防护带裁剪306

14.4.6 纹理类型提示306

14.5 资源最小化306

14.5.1 高成本状态的变化306

14.5.2 多边形306

14.6 结束语307

14.5.5 可见方格307

14.5.3 纹理变化307

14.5.4 纹理内存307

第15章 集成DirectPlay308

15.1 DirectPlay概念308

15.2 启动309

15.3 Multiplayer Connect对话框313

15.4 Multiplayer Games对话框317

15.5 DirectPlay消息325

15.5.1 向游戏者传送游戏消息326

15.5.2 结束游戏355

15.6 目前的程序代码358

15.7 结束语358

第16章 结束语360

16.1 游戏360

16.2 模拟程序和虚拟现实361

16.3 一路顺风,尽情陶醉吧!361

热门推荐