《Visual C++ 6.0高级编程技术 DirectX篇》PDF下载

  • 购买积分:13 如何计算积分?
  • 作  者:乔林,杨志刚编著
  • 出 版 社:北京:中国铁道出版社
  • 出版年份:2000
  • ISBN:711303795X
  • 页数:400 页
图书介绍:

第1章 DirectX与COM基础 1

1.1 DirectX组件与属性信息 1

1.1.1 DirectX组件 1

1.1.2 DirectX5属性信息 2

1.2 COM基础 4

1.2.1 Windows组件与COM模型 4

1.2.2 COM接口与类 4

1.2.3 接口IUnknown 5

1.3 小结 6

第2章 基本DirectDraw编程 7

2.1 DirectDraw的基本特征与结构 7

2.1.1 DirectDraw的基本特征 7

2.1.2 DirectDraw结构 8

2.1.3 DirectDraw对象类型 8

2.2 简单的DirectDraw应用程序 9

2.2.1 Win32 Application应用程序设计 9

2.2.2 AppWizard自动生成的源文件清单 10

2.2.3 添加DriectDraw代码 16

2.3 基本DirectDraw操作 28

2.3.1 全局函数DirectDrawCreate 28

2.3.2 IDirectDraw2接口与IDirectDraw接口 29

2.3.3 接口方法SetCooperativeLevel 32

2.3.4 接口方法SetDisplayMode 34

2.4 枚举DirectDraw显示设备与显示模式 37

2.4.1 使用MFC AppWizard创建DirectDraw应用程序 37

2.4.2 设计对话框和对话框类 39

2.4.3 添加DirectDraw类声明 40

2.4.4 添加DirectDraw实现代码 43

2.4.5 全局函数DirectDrawEnumerate及其回调函数 56

2.4.6 回调参数pContext 60

2.4.7 接口方法IDirectDraw2::EnumDisplayModes及其回调函数 63

2.5 检索DirectDraw资源 67

2.5.1 检索DirectX版本 67

2.5.2 检索DirectDraw的性能指标 73

2.5.3 结构DDSCAPS与接口方法IDirectDraw2::GetAvailableVidMem 89

2.6 DirectDraw显示模式的设置与恢复 96

2.6.1 接口方法GetDisplayMode 96

2.6.2 接口方法RestoreDisplayMode 96

2.7 小结 97

第3章 基本图面操作 98

3.1 图面的基础知识 98

3.1.1 图面接口 99

3.1.2 宽度和跨度 102

3.1.3 复杂结构DDSURFACEDESC 102

3.1.4 像素格式与DDPIXELFORMAT结构 105

3.2 图面的创建 107

3.2.1 接口方法CreateSurface 108

3.2.2 创建简单主图面 109

3.2.3 创建复杂图面和图面切换链 110

3.2.4 创建离屏图面 111

3.2.5 创建宽图面 112

3.3 图面的检索与更新 113

3.3.1 接口方法GetSurfaceDesc 113

3.3.2 接口方法IDirectDrawSurface3::SetSurfaceDesc 113

3.3.3 接口方法EnumSurfaces 115

3.4 使用GDI访问图面 116

3.4.1 接口方法GetDC 116

3.4.2 使用GDI函数访问图面 117

3.4.3 使用MFC类库访问图面 120

3.4.4 接口方法ReleaseDC 122

3.4.5 写入图面缓冲区 123

3.5 在图面中使用位图 125

3.5.1 装入设备无关位图:实现函数DDLoadBitmap 125

3.5.2 装入设备无关位图:实现函数DDAttachBitmap 127

3.5.3 装入设备无关位图:使用函数DDAttachBitmap 129

3.5.4 支持IDirectDrawSurface3接口 130

3.6 图面的直接渲染 134

3.6.1 接口方法Lock 134

3.6.2 接口方法Unlock 135

3.6.3 直接访问帧缓冲区 136

3.7 图面的恢复与释放 138

3.7.1 接口方法Restore 138

3.7.2 接口方法IsLost 140

3.7.3 接口方法Release 141

3.8 小结 142

第4章 位转换与图面切换操作 143

4.1 位转换操作结构与方法 143

4.1.1 复杂结构DDBLTFX 143

4.1.2 接口方法Blt 146

4.1.3 接口方法BltFast 149

4.1.4 接口方法GetBltStatus 150

4.2 位转换操作 151

4.2.1 程序实例 151

4.2.2 创建主图面和离屏图面 166

4.2.3 位转换缩放 169

4.2.4 位转换镜像 170

4.2.5 位转换旋转 172

4.2.6 位转换颜色填充 173

4.3 精灵动画与颜色值 176

4.3.1 精灵动画与透明位转换 176

4.3.2 颜色值 177

4.3.3 接口方法SetColorKey和GetColorKey 177

4.3.4 应用程序实例 179

4.3.5 WinMain函数 196

4.3.6 UpdateFrame函数 198

4.4 页面切换操作 200

4.4.1 DirectDraw图面切换的基本原理 201

4.4.2 接口方法GetAttachedSurface 202

4.4.3 接口方法EnumAttachedSurfaces 203

4.4.4 接口方法Flip 204

4.4.5 接口方法FlipToGDISurface 205

4.4.6 接口方法GetFlipStatus 205

4.4.7 图面切换 206

4.4.8 创建三缓冲切换环境 208

4.5 小结 210

第5章 DirectDraw与MFC文档视图结构 211

5.1 创建窗口DirectDraw应用程序的基本考虑 211

5.1.1 创建窗口DirectDraw应用程序时应该考虑的几个问题 211

5.1.2 使用MFC文档视图结构时应该考虑的几个问题 212

5.1.3 应用程序实例 213

5.2 类CDirectDrawGameView 244

5.2.1 手工添加的数据成员 244

5.2.2 手工添加的成员函数 245

5.2.3 添加消息映射函数 250

5.3 类CMainFrame 252

5.3.1 处理WM_MOVE消息 253

5.3.2 处理WM_ACTIVATEAPP消息 254

5.3.3 处理调色板消息 255

5.4.1 成员函数Run 257

5.4 类CDirectDrawGameApp 257

5.4.2 成员函数InitInstance 259

5.5 小结 267

第6章 DirectX游戏编程 268

6.1 StackUp的游戏规则 268

6.2 编程任务分析 268

6.2.1 StackUp的显示模式 268

6.2.3 StackUp的精灵艺术行为 269

6.2.2 StackUp的显示画面 269

6.3 应用程序开发 270

6.3.1 程序文件列表 270

6.3.2 程序清单 270

6.4 程序分析 393

6.4.1 应用程序主函数Run 393

6.4.2 帧更新成员函数Frame 394

6.4.3 精灵的行为 395

6.4.4 输入控制 395

6.5 小结 400