第一部分 DirectX介紹
第1章 DirectX組件及其作用
1. 1 什么是DirectX
1. 2 DirectX組件
1. 2. 1 DirectX SDK
1. 2. 2 DirectX Media SDK
1. 3 準備使用DirectX
1. 3. 1 準備編譯器
1. 3. 2 在程序中包含SDK
1. 4 COM簡介
1. 4. 1 可重用的接口和兼容性
1. 4. 2 IUnknown基類
1. 4. 3 查詢接口
1. 4. 4 COM參考計算器
1. 5 課時小結
1. 6 專家答疑
1. 7 課外作業(yè)
1. 7. 1 思考題
1. 7. 2 練習題
第一部分 從DirectDraw開始
第2章 Windows應用程序中的
DirectDraw
2. 1 視頻系統
2. 2 DirectDraw組件
2. 2. 1 IDirectDraw7接口
2. 2. 2 DirectDraw界面
2. 2. 3 與DirectDraw剪貼板的內部保持
一致
2. 3 在主界面上繪圖
2. 4 第一個DirectDraw應用程序
2. 4. 1 建立項目
2. 4. 2 生成窗口框架
2. 4. 3 初始化DirectDraw并生成剪貼板
2. 4. 4 生成主界面
2. 4. 5 加載圖像
2. 4. 6 把圖像傳到屏幕廠
2. 4. 7 在消息循環(huán)中將它綁到一起
2. 4. 8 釋放接口
2. 5 課時小結
2. 6 專家答疑
2. 7 課外作業(yè)
2. 7. 1 思考題
2. 7. 2 練習題
第3章 系統的控制
3. 1 全屏圖形
3. 1. 1 得到系統的合作
3. 1. 2 改變屏幕分辨率
3. 2 翻頁
3. 2. 1 創(chuàng)建觸發(fā)鏈
3. 2. 2 使用頁觸發(fā)
3. 3 幻燈片顯示:一個簡單的界面——觸發(fā)
應用程序
3. 4 設置應用程序
3. 4. 1 初始化應用程序
3. 4. 2 清除
3. 4. 3 繪制一張幻燈
3. 4. 4 處理幻燈片導航
3. 4. 5 例程輸出
3. 5 課時小結
3. 6 專家答疑
3. 7 課外作業(yè)
3. 7. 1 思考題
3. 7. 2 練習題
第4章 創(chuàng)建游戲循環(huán)
4. 1 游戲循環(huán)的概念
4. 2 寫一個更好的消息循環(huán)
4. 3 獲取平滑的回放
4. 3. 1 在循環(huán)中使用計時器
4. 3. 2 選擇計時器
4. 4 第一個動畫:一個活動的背景
4. 4. 1 設置應用程序
4. 4. 2 設置初始化
4. 4. 3 通過鍵盤輸入控制動作
4. 4. 4 清除并退出
4. 4. 5 創(chuàng)建游戲循環(huán)
4. 4. 6 表演一個活動的背景
4. 5 課時小結
4. 6 專家答疑
4. 7 課外作業(yè)
4. 7. 1 思考題
4. 7. 2 練習題
第5章 動起來:DirectDraw動畫技術
5. 1 位塊傳送
5. 1. 1 顏色鎖結的兩個方法
5. 1. 2 選擇一種鎖結色
5. 1. 3 轉換鎖結顏色
5. 1. 4 在DirectDraw中設置鎖結色
5. 2 使它看片去像3D
5. 2. 1 Z軸排序
5. 2. 2 視差:移動物體的深度感知
5. 3 將它們放在一起
5. 4 課時小結
5. 5 專家答疑
5. 6 課外作業(yè)
5. 6. 1 思考題
5. 6. 2 練習題
第三部分 添加音樂和聲音
第6章 DirectSound:為你的游戲增加情調
和聲音效果
6. 1 DirectSound的基礎
6. 1. 1 低延遲的音頻混合
6. 1. 2 硬件加速
6. 1. 3 3D聲音
6. 1. 4 DirectSound與Windows音頻
6. 2 內部DirectSound
6. 2. 1 DirectSound對象
6. 2. 2 創(chuàng)建一個聲音緩沖區(qū)
6. 2. 3 獲取設備能力
6. 2. 4 釋放DirectSound
6. 2. 5 設置合作級別
6. 2. 6 DirectSoundBuffer對象
6. 2. 7 鎖定與解鎖一個聲音緩沖區(qū)
6. 2. 8 播放與停止一個聲音緩沖區(qū)
6. 2. 9 獲取聲音緩沖區(qū)的狀態(tài)
6. 2. 10 設置聲音緩沖區(qū)的音量
6. 2. 11 控制聲音緩沖區(qū)的顫動
6. 2. 12 改變聲音緩沖區(qū)的頻率
6. 2. 13 靜態(tài)和流聲音緩沖區(qū)
6. 3 課時小結
6. 4 專家答疑
6. 5 課外作業(yè)
6. 5. 1 思考題
6. 5. 2 練習題
第7章 應用DirectSound
7. 1 DirectSound和游戲
7. 2 用波工作
7. 2. 1 波的高級用法
7. 2. 2 創(chuàng)建CWave類
7. 2. 3 使用CWave類
7. 3 DirectSound播放聲音效果
7. 4 課時小結
7. 5 專家答疑
7. 6 課外作業(yè)
7. 6. 1 思考題
7. 6. 2 練習題
第四部分 歡迎來到3D世界
第8章 DirectMusic:交互式音樂
8. 1 DirectMusic的特點
8. 1. 1 Microsoft Synthesizer
8. 1. 2 交互式音樂的時代
8. 1. 3 音樂的動態(tài)生成
8. 2 數字領域的音樂創(chuàng)作
8. 2. 1 音樂結構的快速啟蒙
8. 2. 2 用MIDI形式存儲樂曲
8. 2. 3 多軌音樂合成器
8. 3 DirectMusic體系結構
8. 3. 1 IDirectMusicPerformance接口
8. 3. 2 執(zhí)行對象的接口
8. 3. 3 樂團的組合
8. 3. 4 音樂模板
8. 4 課時小結
8. 5 專家答疑
8. 6 課外作業(yè)
8. 6. 1 思考題
8. 6. 2 練習題
第9章 應用DirectMusic
9. 1 用DirectMusic產生器應用程序創(chuàng)作
一首簡單的譜子
9. 1. 1 選擇工具
9. 1. 2 創(chuàng)建節(jié)奏
9. 1. 3 制作簡單的旋律
9. 1. 4 生成音樂模板
9. 1. 5 保存演奏
9. 2 創(chuàng)立DirectMusic
9. 2. 1 初始化演奏接口
9. 2. 2 載入作曲文件
9. 2. 3 確定樂器
9. 3 DirectMusic演奏
9. 3. 1 演奏段
9. 3. 2 在線改變節(jié)奏和結構
9. 4 在游戲中加入DirectMusic
9. 4. 1 創(chuàng)建接口
9. 4. 2 加載執(zhí)行組件
9. 4. 3 讓音樂烘托氣氛
9. 5 課時小結
9. 6 專家答疑
9. 7 課外作業(yè)
9. 7. 1 思等題
9. 7. 2 練習題
第10章 3D概念介紹
10. 1 3D處理綜述
10. 1. 1 物件定義
10. 1. 2 3D管道
10. 2 在3D空間中定義位置
10. 3 在三維環(huán)境中創(chuàng)建對象
10. 4 矩陣:使世界運動起來
10. 4. 1 “世界”交換
10. 4. 2 視窗變換
10. 5 課時小結
10. 6 專家答疑
10. 7 課外作業(yè)
第11章 生成3D圖像
11. 1 D3D中直接模型的繼承關系
11. 1. 1 IDirectD7接口
11. 1. 2 IDirect3DDevice7接口
11. 2 視域錐面
11. 2. 1 在視域中剪切平截面
11. 2. 2 剪切面的前面和后面
11. 2. 3 工程矩陣
11. 2. 4 定義視見區(qū)
11. 3 隱藏面的消除
11. 4 背面的選取
11. 5 Z緩沖
11. 6 課時小結
11. 7 專家答疑
11. 8 課外作業(yè)
11. 8. 1 思考題
11. 8. 2 練習題
第五部分 輸出設備
第12章 創(chuàng)建第一個D3D的
應用程序
12. 1 在D3D中建立對象
12. 2 三種網陣格式
12. 2. 1 三角鏈法
12. 2. 2 三角帶鏈法
12. 2. 3 三角扇形法
12. 2. 4 畫一個網狀體
12. 3 標記網狀圖
12. 4 開始第一個Direct3D圖形
12. 4. 1 生成一個簡單的 3D物體
12. 4. 2 物體的處理
12. 4. 3 開始工作
12. 4. 4 球類表面指針
12. 4. 5 初始化操作
12. 4. 6 用Direct3D初始化DirectDraw
12. 4. 7 初始化Direct3D
12. 4. 8 設置視窗部分
12. 4. 9 創(chuàng)建物體
12. 4. 10 使物體運動
12. 4. 11 作出布景
12. 4. 12 處理用戶輸入
12. 4. 13 完成涉及項目
12. 4. 14 程序運行
12. 5 課時小結
12. 6 專家答疑
12. 7 課外作業(yè)
12. 7. 1 思考題
12. 7. 2 練習題
第13章 在布景中加入紋理和
Z-buffer
13. 1 準備一個Z-buffer設備
13. 1. 1 選擇一個Z-buffer
13. 1. 2 創(chuàng)建并結合Z-buffer
13. 1. 3 開啟與關閉Z-buffer
13. 2 加紋理
13. 2. 1 讀入一個紋理
13. 2. 2 準備幾何圖
13. 2. 3 建立設備與操作
13. 3 課時小結
13. 4 專家答疑
13. 5 課外作業(yè)
13. 5. 1 思考題
13. 5. 2 練習題
第14章 通過光照增加真實感
14. 1 建立一個光源
14. 2 光源類型
14. 2. 1 點光源
14. 2. 2 聚光燈光源
14. 2. 3 方向光源
14. 3 在項目中添加光照
14. 3. 1 創(chuàng)建光源
14. 3. 2 激活光照管道
14. 3. 3 在場景中實現光源的動畫
14. 3. 4 刪除光源
14. 4 課時小結
14. 5 專家答疑
14. 6 課外作業(yè)
14. 6. 1 思考題
14. 6. 2 練習題
第六部分 Direct3D直接模式
第15章 向場景中輸入3D
對象和動畫
15. 1 3D建模軟件包簡介
15. 2 Direct3D X文件格式
15. 2. 1 頂點存儲
15. 2. 2 頂點顏色
15. 2. 3 頂點法線
15. 2. 4 紋理映射
15. 2. 5 框架層次
15. 2. 6 動畫路徑
15. 3 轉換3D Studio文件:CONV3DS
實用庫
15. 4 讀取一個X文件格式
15. 5 在我們的應用程序中添加傳播手段
15. 5. 1 讀取模型
15. 5. 2 建立層次
15. 5. 3 對象加入到場景中
15. 5. 4 清除
15. 6 課時小結
15. 7 專家答疑
15. 8 課外作業(yè)
15. 8. 1 思考題
15. 8. 2 練習題
第16章 模擬一個復雜的世界:物理
學和對象層次的應用
16. 1 反作用和影響:定義真實世界
的關系
16. 1. 1 運動動力學
16. 1. 2 前向運動
16. 1. 3 支點和其他運動特性
16. 1. 4 反向運動
16. 1. 5 對象層次
16. 1. 6 用矩陣來合并運動
16. 2 對象間的相互作用
16. 2. 1 碰撞檢測
16. 2. 2 對象的反作用力
16. 3 在我們的應用程序中添加碰撞檢測
16. 3. 1 定義對象的范圍
16. 3. 2 碰撞測試
16. 3. 3 反作用力向量的動畫實現
16. 4 課時小結
16. 5 專家答疑
16. 6 課外作業(yè)
16. 6. 1 思考題
16. 6. 2 練習題
第17章 DirectInput簡介:獲取
用戶輸入
17. 1 DirectInput基礎
17. 2 內部DirectInput
17. 2. 1 DirectInput對象
17. 2. 2 DirectInputDevice對象
17. 3 DirectInput內部代碼
17. 3. 1 啟動DirectInput
17. 3. 2 清除DirectInput
17. 4 處理鍵盤輸入
17. 5 處理鼠標輸入
17. 6 處理游戲桿的輸入
17. 7 課時小結
17. 8 專家答疑
17. 9 課外作業(yè)
17. 9. 1 思考題
17. 9. 2 練習題
第18章 用戶可以感覺到的:
力反饋
18. 1 認識力反饋
18. 1. 1 力反饋術語
18. 1. 2 效果的類型
18. 2 內部DirectInput概覽
18. 3 使用力反饋
18. 3. 1 列舉和創(chuàng)建力反饋設備
18. 3. 2 列舉力反饋效果
18. 4 創(chuàng)建力反饋效果
18. 4. 1 運行為反饋效果
18. 4. 2 改變力反饋效果
18. 5 力反饋效果特例
18. 6 課時小結
18. 7 專家答疑
18. 8 課外作業(yè)
18. 8. 1 思考題
18. 8. 2 練習題
第19章 3D聲音:從混音到多普勒
效應
19. 1 3D聲音入門
19. 1. 1 聲音物理學
19. 1. 2 我們如何感覺聲音
19. 1. 3 DirectSound3D的結構
19. 2 DirectSound 3D的組成
19. 2. 1 DirectSound 3D緩沖區(qū)
19. 2. 2 DirectSound 3D接收器
19. 3 向應用程序中添加DirectSound 3D
19. 3. 1 創(chuàng)建聽者
19. 3. 2 載入聲音
19. 3. 3 創(chuàng)建3D緩沖區(qū)
19. 3. 4 仿真音效
19. 3. 5 釋放接口
19. 4 課時小結
19. 5 專家答疑
19. 6 課外作業(yè)
19. 6. 1 思考題
19. 6. 2 練習題
第七部分 DirectPlay
第20章 將你的游戲放入網絡:編寫多
用戶標題
20. 1 DirectPlay結構
20. 2 創(chuàng)建一個DirectPlay對象
20. 3 選取一個網絡聯接
20. 4 連接一個會話
20. 5 與玩家通信
20. 5. 1 玩家與分組
20. 5. 2 DirectPlay消息
20. 6 處理網絡等待時間
20. 6. 1 確定性/非確定性數據
20. 6. 2 被擔保的消息
20. 6. 3 消息管理
20. 7 課時小結
20. 8 專家答疑
20. 9 課外作業(yè)
20. 9. 1 思考題
20. 9. 2 練習題
第21章 游戲中樞:創(chuàng)建通道
21. 1 DirectPlay通道簡介
21. 1. 1 將玩家集中到一個場所
21. 1. 2 游戲服務器
21. 2 使一個DirectPlay應用程序通道化
21. 3 IDirectPlayDobby3接口
21. 3. 1 通道對游戲客戶端的支持
21. 3. 2 將游戲注冊成通道型的
21. 4 用戶. 分組和會話
21. 5 提供交談服務
21. 6 創(chuàng)建一個會話
21. 7 啟動一個DirectPlay通道應用程序
21. 7. 1 使游戲通道化
21. 7. 2 發(fā)送和接收通道消息
21. 7. 3 清除
21. 8 課時小結
21. 9 專家答疑
21. 10 課外作業(yè)
21. 10. 1 思考題
21. 10. 2 練習題
第八部分 DirectMedia SDK
第22章 用DirectShow添加視頻
22. 1 DirectShow簡介
22. 2 視頻重放能力
22. 3 互聯網流型機頻應用程序
22. 4 圖表過濾器
22. 5 DirectShow應用程序示例
22. 5. 1 初始化DirectShow
22. 5. 2 建立過濾器
22. 5. 3 建立文件流
22. 5. 4 播放影片
22. 5. 5 清除
22. 6 課時小結
22. 7 專家答疑
22. 8 課外作業(yè)
22. 8. 1 思考題
22. 8. 2 練習題
第23章 用DirectX Transform為面帶來
活力
23. 1 DirectX Transform的功能
23. 2 通用的DirectDraw面:IDXSurface
23. 2. 1 創(chuàng)建DXSurface
23. 2. 2 從各種文件格式中讀取圖形
23. 2. 3 自動顏色轉換
23. 3 特殊效果:DirectX Transform
23. 3. 1 創(chuàng)建Transform Factory
23. 3. 2 用工廠來訪問轉換
23. 3. 3 2D轉換
23. 3. 4 過程型面
23. 3. 5 3D轉換
23. 4 DirectX Transform應用程序示例
23. 4. 1 創(chuàng)建DXSurface對象
23. 4. 2 載入圖形
23. 4. 3 創(chuàng)建轉換
23. 4. 4 實現圖形轉換動畫
23. 4. 5 清除
23. 5 課時小結
23. 6 專家答疑
23. 7 課外作業(yè)
23. 7. 1 思考題
23. 7. 2 練習題
第24章 用DirectAnimation將媒體集
成到網頁和應用程序中
24. 1 DirectAnimation:一個API, 多個
用戶
24. 2 深入面:接口一覽
24. 2. 1 DirectAnimation結構
24. 2. 2 DirectAnimation模型
24. 3 多功能的編程環(huán)境
24. 3. 1 在C++中編寫DirectAnimation
24. 3. 2 用腳本在Web上使用
DirectAnimation
24. 4 C++的DirectAnimation應用程序
示例
24. 4. 1 初始化DirectAnimation
24. 4. 2 載入2D圖形
24. 4. 3 創(chuàng)建3D對象
24. 4. 4 添加某些運動
24. 4. 5 創(chuàng)建照相機和光照
24. 4. 6 添加聲音
24. 4. 7 實現場景動畫
24. 4. 8 清除
24. 4. 9 用DirectDraw方式完成工作
24. 5 使用DirectAnimation的網頁示例
24. 6 課時小結
24. 7 專家答疑
24. 8 課外作業(yè)
24. 8. 1 思考題
24. 8. 2 練習題
附錄
附錄A 參考答案
附錄B 用DirectSetup為應用程序的發(fā)行
做準備