《高性能Windows图形程序设计》PDF下载

  • 购买积分:11 如何计算积分?
  • 作  者:(美)(S.特鲁吉洛)Stan Trujillo著;李国岫等译
  • 出 版 社:北京:机械工业出版社
  • 出版年份:1998
  • ISBN:7111063392
  • 页数:285 页
图书介绍:暂缺《高性能Windows图形程序设计》简介

第1 章 DirectDraw应急教程 1

1.1 什么是DirectDraw 1

1.2 术语和概念 2

1.2.1 显示模式 2

1.2.2 硬件加速 2

1.2.3 表面 2

1.2.4 Bltting 3

1.2.5 调色板 4

1.2.6 剪裁 4

1.2.7 其他表面 4

1.3.2 IUnknown接口 5

1.3.1 对象和接口的比较 5

1.3 Microsoft 的COM规格 5

1.3.3 GUID 6

1.4 DirectDraw API 6

1.4.1 Directdraw和DirectDraw2接口 6

1.4.2 DirectDrawSurface接口 10

1.4.3 DirectDrawPalette接口 16

1.4.4 DirectDrawClipper接口 16

1.4.5 附加DirectDraw接口 17

1.4.6 DirectDraw结构 17

1.5 编写DirectDraw应用程序 18

1.5.1 窗口应用程序 18

1.6 准备好工具 19

1.5.2 全屏应用程序 19

1.5.3 混合应用程序 19

1.6.1 DirectX运行期文件 20

1.6.2 DirectX SDK 20

1.6.3 VisualC++ 21

1.7 Windows NT和 windows95 的比较 22

1.8 小结 22

第2 章 性能问题 23

2.1 传统优化 23

2.2 C++比C慢吗 23

2.5 缺少显示RAM 24

2.4 硬件比软件运行快 24

2.3 浮点运算 24

2.6 FPS并不说明问题 25

2.7 调色板令人烦恼 25

2.8 避免设备相关 26

2.9 在Titanic上重新布置轻便折叠躺椅 26

2.10 DirectX的未来 26

2.11 小结 27

第3 章 深入DirectDraw 28

3.1 关于DirectDrawAppWizard 28

3.2 应用程序的结构 32

3.2.1 类的作用 32

3.2.3 定制类 33

3.2.2 框架设计 33

3.3 初始化程序 34

3.3.1 初始化DirectDraw 36

3.3.2 枚举DirectDraw驱动程序 37

3.3.3 选择一个驱动程序 38

3.3.4 初始化DirectDraw 40

3.3.5 检测显示模式 40

3.3.6 选择一个显示模式 41

3.3.7 激活一个显示模式 42

3.3.8 创建表面 44

3.4 准备表面 46

3.5 产生输出 51

3.5.1 DrawScene( )函数 52

3.5.2 BltSurface( )函数 53

3.6 恢复表面 56

3.7 关闭应用程序 56

3.8 窗口应用程序 58

3.8.1 应用程序结构 58

3.8.2 初始化程序 58

3.8.3 产生输出 63

3.9 小结 64

第4 章 显示模式和刷新率 65

4.1 显示模式切换 65

4.1.1 SetDisplay Mode( )函数 65

4.1.2 检测显示模式和刷新率 66

4.1.3 ActivateDisplay Mode( )函数 67

4.2 Switch示例 68

4.2.1 应用程序的设计 69

4.2.2 绘制文本 69

4.2.3 计算FPS 69

4.2.4 SwitchWin类 70

4.2.5 应用程序初始化 72

4.2.6 应用程序的输出 77

4.2.7 处理用户输入 81

4.2.8 恢复表面 83

4.3 刷新率 84

4.4.1 SuperSwitch Win类 85

4.4 SuperSwitch示例 85

4.4.2 应用程序初始化 88

4.4.3 应用程序的输出 89

4.4.4 处理用户输入 90

4.5 小结 95

第5 章 表面和像素格式 96

5.1 表面 96

5.2 像素深度 97

5.2.1 表面跨距 97

5.2.2 像素格式 99

5.2.3 检索像素格式数据 100

5.2.4 DirectDrawWin像素格式数据成员 101

5.2.5 锁定表面 102

5.3.1 BMP文件格式 103

5.3 BMP文件 103

5.3.2 头结构 104

5.3.3 调色板数据 105

5.3.4 像素数据 105

5.4表面存取代码 106

5.4.1 CreateSurface0( )函数 106

5.4.2 CreatePalette( )函数 109

5.4.3 传送像素数据 110

5.5 BmpView示例 117

5.5.1 滚动大的表面 118

5.5.2 对话显示问题 118

5.5.3 类定义 119

5.5.4 应用程序初始化 121

5.5.5 BMP选择和显示 124

5.5.6 产生输出 128

5.5.7 处理用户输入 128

5.6 小结 133

第6 章 DirectInput 135

6.1 什么是DirectInput 135

6.1.1 支持设备 135

6.1.2 性能 135

6.1.3 输入数据 135

6.1.4 轮询与事件通知的比较 136

6.1.5 合作度 136

6.2.1 DirectInput接口 137

6.2 DirectInput API 137

6.1.6 设备坐标数据 137

6.1.7 “得到”设备 137

6.2.2 DirectInputDevice接口 138

6.3 Qwerty示例 140

6.3.1 Qwerty Win类 141

6.3.2 初始化DirectInput 143

6.3.3 得到键盘 145

6.3.4 检测键的状态 146

6.3.5 应用程序的终止 148

6.4.6 DirectInput的版本控制 149

6.4 Smear示例 149

6.4.2 SmearWin类 150

6.4.1 应用程序的设计 150

6.4.3 初始化DirectInput 152

6.4.4 鼠标的初始化 153

6.4.5 键盘的初始化 155

6.4.6 获得鼠标和键盘 156

6.4.7 检索鼠标数据 156

6.4.8 应用程序终止 159

6.5 小结 160

第7 章 光标问题 161

7.1 局部屏幕更新 161

7.1.1 更新光标 162

7.2.1 线程和进程 163

7.1.2 页面翻转 163

7.2 多线程 163

7.2.2 为什么使用多线程 164

7.2.3 同步线程 164

7.2.4 MFC线程类 165

7.3 解决光标问题 165

7.3.1 主线程 165

7.3.2 鼠标输入线程 166

7.3.3 鼠标按钮如何处理 166

7.4 光标示例 167

7.4.1 CursorWin类 168

7.4.2 应用程序初始化 170

7.4.3 DrawScene( )函数 174

7.4.4 鼠标线程 177

7.4.5 应用程序终止 183

7.5 小结 184

第8 章 视频回放 185

8.1 开始启动 185

8.1.1 AVI文件 185

8.1.2 视频数据 186

8.1.3 Video For Windows 186

8.1.4 VFW API 186

8.2 AviPlay示例 190

8.2.1 AviPlay Win类 191

8.2.2 OnCreate( )函数 193

8.2.3 SelectInitialDisplayMode( )函数 194

8.2.4 ShowDialog( )函数 195

8.2.5 LoadAvi( )函数 197

8.2.6 CreateAviSurface( )函数 200

8.2.7 InstallPalette( )函数 200

8.2.8 DrawScene( )函数 201

8.2.9 UpdateAviSurface( )函数 202

8.2.10 RestoreSurfaces( )函数 203

8.2.11 处理用户输入 204

8.2.12 OnDestroy( )函数 204

8.3小结 205

9.1.1 可视化解决方法 206

9.1 通用目标解决方法- 206

第9章 碰撞检测 206

9.1.2 碰撞检测例程 208

9.1.3 Sprite类 215

9.2 Bumper示例 220

9.2.1 BumperWin类 220

9.2.2 应用程序初始化 221

9.2.3 DrawScene( )函数 225

9.2.4 OnKeyDown( )函数 226

9.2.5 恢复丢失的表面 226

9.3 小结 227

附录A 开发注意事项 228

附录B 附加章节 257