[www.ed2k.online]下載基地為您提供軟件、遊戲、圖書、教育等各種資源的ED2K電驢共享下載和MAGNET磁力鏈接下載。
設為首頁
加入收藏
首頁 圖書資源 軟件資源 游戲資源 教育資源 其他資源
 電驢下載基地 >> 图书资源 >> 計算機與網絡 >> 《游戲編程精粹4》(Game Programming Gems 4)掃描版[PDF]
《游戲編程精粹4》(Game Programming Gems 4)掃描版[PDF]
下載分級 图书资源
資源類別 計算機與網絡
發布時間 2017/7/11
大       小 -
《游戲編程精粹4》(Game Programming Gems 4)掃描版[PDF] 簡介: 中文名 : 游戲編程精粹4 原名 : Game Programming Gems 4 別名 : 游戲編程, 游戲開發 作者 : (美)Andrew Kirmse 譯者 : 沙鷹等 圖書分類 : 軟件 資源格式 : PDF 版本 : 掃描版 出版社 : 人民郵電出版社 書號 : 7115136351 發行時間 : 2005年9月 地區 : 大陸 語言 : 簡體中文
電驢資源下載/磁力鏈接資源下載:
全選
"《游戲編程精粹4》(Game Programming Gems 4)掃描版[PDF]"介紹
中文名: 游戲編程精粹4
原名: Game Programming Gems 4
別名: 游戲編程, 游戲開發
作者: (美)Andrew Kirmse
譯者: 沙鷹等
圖書分類: 軟件
資源格式: PDF
版本: 掃描版
出版社: 人民郵電出版社
書號: 7115136351
發行時間: 2005年9月
地區: 大陸
語言: 簡體中文
簡介:

內容簡介:
  本書是著名技術叢書"游戲編程精粹"的第4卷,由全球數十位優秀游戲程序員撰寫的文章匯集而成。書中有62篇長度中等難度適中的技術文章,分為通用編程、數學、物理、人工智能、圖形圖像、網絡和多人游戲、音頻共7章,並在隨書光盤中提供了源程序和演示實現。文章的選題既緊跟游戲開發的時代脈搏,內容亦不流於表面,先進性和實用性俱佳。
  
  本書適合游戲開發專業人員閱讀,專家級開發人員可以立刻用書中介紹的方法和技巧,而初中級程序員通過閱讀本書將增強其技能和知識。
  
  本書秉承了“游戲編程精粹”系列的一貫作風,挾60余篇嶄新的技術文章以飨讀者。它將再次無可爭議地成為一本游戲開發者不可多得的參考書。由於全部作者都來自於親手打造當今優秀游戲的經驗豐富的開發者們,讀者在文章中不但可以找到針對疑難問題的有效解決方案,而且常能找到令人玩味再三的深刻見解。它們將激起讀者探索的欲望和創意的火花。
  
  過去數年中,在游戲行業中發生的開拓與革新是有目共睹的。因此本系列叢書所覆蓋的領域也隨之而拓寬了。考慮到各種新型游戲平台的出現,書中增加了非主流程序設計語言以及第三方api方面的內容。雖然絕大部分的代碼依然以c++寫成,但是用到了一些解釋語言(如java和python)。圖形部分的文章則涉及opengl、directx及一些shader語言。在本書中還有全新的關於物理的章節,其中探討了一些創建emergent gameplay 的新穎的實時物理實現方法。
  新一卷的“游戲編程精粹”對於游戲程序員來說,無疑是一本寶貴的參考書!
作者介紹:
  Andrew Kirmse是Meridian 59(1996)的開發總監和設計者之一。他也是Star:Starfighter(2001)的圖形程序員。他在麻省理工學院(Massachusetts lnstitute of Technology,MIT)獲得物理、數學和計算機科學的學位。Andrew曾為每一卷“游戲編程精粹”撰稿。他目前在LucasArts工作。
內容截圖:



目錄:
第1章 通用編程
簡介 Chris Corry
1.1 調試游戲程序的學問 Steve Rabin
1.1.1 五步調試法
1.1.2 第一步:始終如一地重現問題
1.1.3 第二步:搜集線索
1.1.4 第三步:查明錯誤的源頭
1.1.5 第四步:糾正問題
1.1.6 第五步:對所作的修改進行測試
1.1.7 高級調試技巧
1.1.8 困難的調試情景和模式
1.1.9 理解底層系統
1.1.10 增加有助於調試的基礎設施
1.1.11 預防bug
1.1.12 結論
1.1.13 致謝
1.1.14 參考文獻
1.2 一個基於HTML的日志和調試系統 James Boer
1.2.1 於日志系統的優勢
1.2.2 究竟什麼是事件日志?
1.2.3 HTML和調用堆棧
1.2.4 工作原理
1.2.5 一些有用的心得
1.2.6 結論
1.3 時鐘:游戲的脈搏盡在掌握 Noel Llopis
1.3.1 關於時間的基礎
1.3.2 時鐘系統的組成
1.3.3 避免失真
1.3.4 結論
1.4 設計和維護大型跨平台庫 David Etherton
1.4.1 設計
1.4.2 Build系統
1.4.3 細節
1.4.4 結論
1.4.5 參考文獻
1.5 利用模版化的空閒塊列表克服內存碎片問題 Paul Glinker
1.5.1 內存操作
1.5.2 解決方案
1.5.3 實現細節
1.5.4 有效地使用我們的Freelist
1.5.5 結論
1.5.6 參考文獻
1.6 一個用C++實現的泛型樹容器類 Bill Budge
1.6.1 可重用的庫
1.6.2 樹的概念
1.6.3 樹的實現
1.6.4 利用STL
1.6.5 結論
1.6.6 參考文獻
1.7 弱引用和空對象 Noel Llopis
1.7.1 使用指針
1.7.2 弱引用
1.7.3 空對象
1.7.4 結論
1.7.5 參考文獻
1.8 游戲中的實體管理系統 Matthew Harmon
1.8.1 概述
1.8.2 實體消息
1.8.3 實體代碼
1.8.4 類的代碼
1.8.5 實體管理器
1.8.6 基於消息的游戲循環
1.8.7 開始:消息類
1.8.8 從小處著手:基本實體消息
1.8.9 游戲和環境消息
1.8.10 系統成長:一些高級消息
1.8.11 處理碰撞
1.8.12 擴展到多玩家
1.8.13 開發和調試消息
1.8.14 好處
1.8.15 光盤中的內容
1.8.16 總結
1.9 Windows和Xbox平台上地址空間受控的動態數組 Matt Pritchard
1.9.1 傳統的動態數組管理
1.9.2 深入觀察
1.9.3 地址空間管理 != 存儲管理
1.9.4 重新思考關於數組增大的問題
1.9.5 新的增長規則
1.9.6 使用地址空間受控的數組
1.9.7 結論
1.10 用臨界阻尼實現慢入慢出的平滑 Thomas Lowe
1.10.1 可用的技術
1.10.2 阻尼弦與臨界阻尼
1.10.3 實踐
1.10.4 設置平滑速率的上限
1.10.5 結論
1.10.6 參考文獻
1.11 一個易用的對象管理器 Natalya Tatarchuk
1.11.1 對象管理的傳統做法
1.11.2 靈活的對象管理器
1.11.3 結論
1.11.4 參考文獻
1.12 使用自定義的RTTI屬性對對象進行流操作及編輯 Frederic My
1.12.1 擴展的RTTI
1.12.2 屬性
1.12.3 編輯屬性
1.12.4 保存
1.12.5 載入
1.12.6 與舊版本文件的兼容性問題:類的描述
1.12.7 與舊版本文件的兼容性問題:匹配
1.12.8 “函數”屬性
1.12.9 技巧和提示
1.12.10 思考
1.12.11 結論
1.12.12 參考文獻
1.13 使用XML而不犧牲速度 Mark T. Price
1.13.1 為什麼要使用XML呢?
1.13.2 簡單介紹XDS Meta格式
1.13.3 XDS工具集
1.13.4 使用XDS工具集
1.13.5 整合
1.13.6 總結
1.13.7 參考文獻
第2章 數學
簡介 Jonathan Blow
2.1 使用馬其賽特旋轉的Zobrist散列法 Toby Jones
2.1.1 Zobrist散列
2.1.2 實現Zobrist散列
2.1.3 馬其賽特旋轉(Mersenne Twister)
2.1.4 馬其賽特旋轉的實現
2.1.5 結論
2.1.6 參考文獻
2.2 抽取截錐體和camera信息 Waldemar Celes
2.2.1 平面變換(Plane Transformation)
2.2.2 抽取錐體信息
2.2.3 抽取camera信息
2.2.4 任意投影變換
2.2.5 實現
2.2.6 結論
2.2.7 參考文獻
2.3 解決大型游戲世界坐標中的精度問題 Peter Freese
2.3.1 問題描述
2.3.2 可能的解決方式
2.3.3 偏移位置
2.3.4 渲染流水線變化
2.3.5 對性能的思考
2.3.6 結論
2.3.7 參考文獻
2.4 非均勻樣條 Thomas Lowe
2.4.1 樣條的種類
2.4.2 三次樣條的基礎理論
2.4.3 圓形的非均勻樣條
2.4.4 平滑非均勻樣條
2.4.5 時控的非均勻樣條
2.4.6 計算起始和最終節點速率
2.4.7 在樣條上獲取速率和加速度
2.4.8 優化
2.4.9 結論
2.4.10 參考文獻
2.5 用協方差矩陣計算更貼切的包圍對象 Jim Van Verth
2.5.1 協方差矩陣
2.5.2 特征值和特征向量
2.5.3 計算協方差矩陣的特征向量
2.5.4 創建包圍對象
2.5.5 結論
2.5.6 參考文獻
2.6 應用於反向運動的雅可比轉置方法 Marco Spoerl
2.6.1 我們的測試環境
2.6.2 雅可比矩陣是什麼?
2.6.3 雅可比轉置矩陣簡介
2.6.4 實現算法
2.6.5 結果和比較
2.6.6 結論
2.6.7 參考文獻
第3章 物理
簡介 Graham Rhodes
3.1 死神的十指:戰斗中的命中算法 Roger Smith、Don Stoner
3.1.1 射擊帶狀物(Ribbon)
3.1.2 射擊靶心
3.1.3 射擊矩形
3.1.4 使用霰彈槍射擊小目標
3.1.5 移動炮兵的攻擊命中
3.1.6 死亡的4種主要形式
3.1.7 化學武器、火球及區域性魔法
3.1.8 彈片的楔入
3.1.9 攻擊叢林
3.1.10 攻擊有獵物分布的叢林
3.1.11 結論
3.1.12 參考文獻
3.2 在低速CPU系統中交通工具的物理模擬 Marcin Pancewicz、Paul Bragiel
3.2.1 技術的概要和前提假設
3.2.2 交通工具沿當前行駛方向上的加速及減速
3.2.3 方向控制
3.2.4 把所有要素結合起來
3.2.5 地形的影響
3.2.6 實現中遇到的問題
3.2.7 可以改進的地方
3.2.8 結論
3.3 編寫基於Verlet積分方程的物理引擎 Nick Porcino
3.3.1 關於物理引擎
3.3.2 剛體
3.3.3 積分器
3.3.4 物理引擎
3.3.5 針對特定平台的考慮
3.3.6 擴展引擎的功能
3.3.7 結論
3.3.8 參考文獻
3.4 剛體動力學中的約束器 Russ Smith
3.4.1 基本要點
3.4.2 約束器構造模塊
3.4.3 創建有用的游戲約束器
3.4.4 光盤中的內容
3.4.5 結論
3.4.6 參考文獻
3.5 在動力學模擬中的快速接觸消除法 ádám Moravánszky、Pierre Terdiman
3.5.1 減少接觸
3.5.2 對預處理的詳細分析
3.5.3 對接觸的分組群的詳細分析
3.5.4 對持續性的詳細分析
3.5.5 結論
3.5.6 參考文獻
3.6 互動水面 Jerry Tessendorf
3.6.1 線性的波浪
3.6.2 垂直導數操作符
3.6.3 波浪的傳播
3.6.4 可以互動的障礙物及其發生源
3.6.5 環境波浪
3.6.6 網格的邊界
3.6.7 表面張力
3.6.8 結論
3.6.9 參考文獻
3.7 用多層物理模擬快速變形 Thomas Di Giacomo、Nadia Magnenat-Thalmann
3.7.1 基於物理的動畫LOD及相關的工作
3.7.2 使用分層的質量塊彈簧物理的快速變形
3.7.3 結論
3.7.4 參考文獻 2363.8 快速且穩定的形變之模態分析 James F. O'Brien
3.8 快速且穩定的形變之模態分析
3.8.1 模式分解
3.8.2 模式的理解和丟棄
3.8.3 模態模擬
3.8.4 總結
3.8.5 結論
3.8.6 參考文獻
第4章 人工智能
簡介 Paul Tozour
4.1 第三人稱視角攝像鏡頭的運動規則 Jonathan Stone
4.1.1 Camera定位及運動
4.1.2 Camera與場景邊界
4.1.3 Camera遮斷
4.1.4 簡化場景
4.1.5 結論
4.1.6 參考文獻
4.2 敘述戰斗:利用AI增強動作游戲中的張力 Borut Pfeifer
4.2.1 戲劇張力
4.2.2 系統概述
4.2.3 設計者的控制部分
4.2.4 難度計算
4.2.5 難度調節
4.2.6 系統評價
4.2.7 結論
4.2.8 參考文獻
4.3 非玩家角色決策:處理隨機問題 Karén Pivazyan
4.3.1 概要
4.3.2 動態規劃算法
4.3.3 代碼
4.3.4 優化
4.3.5 DP算法的其他應用
4.3.6 結論
4.3.7 參考文獻
4.4 一個基於效用的面向對象決策架構 John Hancock
4.4.1 決策樹
4.4.2 基於對象的更好的體系結構
4.4.3 期望值
4.4.4 其他的決策准則
4.4.5 結論
4.4.6 參考文獻
4.5 一個分布式推理投票架構 John Hancock
4.5.1 分布式推理
4.5.2 操縱仲裁者(Steering Arbiter)范例
4.5.3 選擇投票空間
4.5.4 結論
4.5.5 參考文獻
4.6 吸引子和排斥子 John M. Olsen
4.6.1 合力
4.6.2 引力曲線
4.6.3 吸引曲線的和
4.6.4 對應於特定配對的特定曲線
4.6.5 動態曲線
4.6.6 點、線、面
4.6.7 AI控制的層次
4.6.8 動畫系統的交互
4.6.9 移動(Steering)
4.6.10 結論
4.6.11 參考文獻
4.7 高級RTS游戲造牆算法 Mario Grimani
4.7.1 算法
4.7.2 算法改進
4.7.3 輸出鏈表的形式
4.7.4 結論
4.7.5 參考文獻
4.8 利用可編程圖形硬件處理人工神經元網絡 Thomas Rolfes
4.8.1 CPU與GPU系統架構
4.8.2 人工神經元網絡
4.8.3 實現
4.8.4 結論
4.8.5 參考文獻
第5章 圖形圖像
簡介 Alex Vlachos
5.1 具有海報質量的屏幕截圖 Steve Rabin
5.1.1 提高分辨率
5.1.2 提升像素質量
5.1.3 使用一個磁盤均衡采樣分布
5.1.4 為抗鋸齒調整像素的采樣寬度
5.1.5 增加分辨率同增加像素質量相結合
5.1.6 結論
5.1.7 參考文獻
5.2 非封閉網絡模型的GPU容積陰影構架 Warrick Buchanan
5.2.1 回到制圖板
5.2.2 在頂點陰影中實現這項技術
5.2.3 需要注意的事項
5.2.4 結論
5.2.5 參考文獻
5.3 透視陰影貼圖 Marc Stamminger
5.3.1 引言
5.3.2 後透視空間
5.3.3 後透視空間中的光
5.3.4 透視陰影貼圖
5.3.5 實現
5.3.6 結論
5.3.7 參考文獻
5.4 結合使用深度和基於ID的陰影緩沖 Kurt Pelzer
5.4.1 已有的陰影映射技術
5.4.2 深度和基於ID的陰影緩沖
5.4.3 結合深度和ID緩沖
5.4.4 組合的陰影緩沖概述
5.4.5 第一次:從光照的視點渲染
5.4.6 第二次:陰影檢測
5.4.7 在DX9 2.0級的陰影中的實現
5.4.8 結論
5.4.9 參考文獻
5.5 在場景中投射靜態陰影 Alex Vlachos
5.5.1 前期工作
5.5.2 光束基本知識
5.5.3 高級算法
5.5.4 T型連接
5.5.5 網格模型最優算法
5.5.6 實現細節
5.5.7 陰影中的動態物體
5.5.8 結果
5.5.9 結論
5.5.10 參考文獻
5.6 為陰影體和優化的網格模型調整實時光照 Alex Vlachos、Chris Oat
5.6.1 光照問題
5.6.2 在面法線上操作
5.6.3 調整漫射光照
5.6.4 結論
5.6.5 參考文獻
5.7 實時半調色法:快速而簡單的樣式化陰影 Bert Freudenberg、Maic Masuch、Thomas Strothotte
5.7.1 引言
5.7.2 原理
5.7.3 實例的實現
5.7.4 結論
5.7.5 參考文獻
5.8 在3D模型中應用團隊色的各種技術 Greg Seegert
5.8.1 什麼是團隊色?
5.8.2 團隊色的算法
5.8.3 一個實際的例子
5.8.4 光盤中的內容
5.8.5 結論
5.9 快速的棕褐色色調轉換 Marwan Y. Ansari
5.9.1 背景
5.9.2 常規的方法
5.9.3 優化
5.9.4 結論
5.9.5 參考文獻
5.10 使用場景亮度采樣實現動態的Gamma Michael Dougherty、Dave McCoy
5.10.1 光照系數
5.10.2 有限的動態范圍
5.10.3 圖像的優化
5.10.4 易變的光靈敏度
5.10.5 轉換
5.10.6 算法
5.10.7 結論
5.11 熱和薄霧的後處理效果 Chris Oat、Natalya Tatarchuk
5.11.1 熱和閃光的薄霧
5.11.2 高級算法
5.11.3 計算失真值
5.11.4 失真值的解釋
5.11.5 結論
5.11.6 參考文獻
5.12 用四元數的硬件蒙皮 Jim Hejl
5.12.1 蒙皮的概念
5.12.2 四元數參數化
5.12.3 硬件實現
5.12.4 結論
5.12.5 參考文獻
5.13 動作捕捉數據的壓縮 Sφren Hannibal
5.13.1 處理的計劃
5.13.2 組織數據通道
5.13.3 減少已儲存的鍵的數量
5.13.4 包裝剩余的鍵
5.13.5 運行時解壓縮
5.13.6 未來的改進
5.13.7 結論
5.13.8 參考文獻
5.14 基於骨骼的有關節的3D角色的快速碰撞檢測 Oliver Heim、Carl S. Marshall、Adam Lake
5.14.1 碰撞檢測與碰撞分解
5.14.2 術語
5.14.3 將碰撞檢測集成到3D游戲引擎中
5.14.4 基於骨骼的快速碰撞檢測算法
5.14.5 結論
5.14.6 感謝
5.14.7 參考文獻
5.15 使用地平線進行地形的遮擋剔除 Glenn Fiedler
5.15.1 引言
5.15.2 地平線剔除基礎
5.15.3 蠻力地平線剔除
5.15.4 近似值
5.15.5 近似地平線直線
5.15.6 一個更好的近似值
5.15.7 最小二次方線
5.15.8 將它放入到第三維中
5.15.9 最小二次方平面
5.15.10 用近似值的地平線剔除
5.15.11 被地形遮擋的對象
5.15.12 使它成為動態的
5.15.13 未來的方向
5.15.14 結論
5.15.15 參考文獻
第6章 網絡和多人游戲
簡介 Pete Isensee
6.1 設計與開發游戲大廳 Shekhar Dhupelia
6.1.1 狀態-事件系統的設計
6.1.2 探討大廳的子系統
6.1.3 高級大廳子系統
6.1.4 結論
6.1.5 參考文獻
6.2 支持成千上萬個客戶端的服務器 Adam Martin
6.2.1 服務器設計中的門檻
6.2.2 問題
6.2.3 主要技術
6.2.4 服務器設計
6.2.5 結論
6.2.6 參考文獻
6.3 大型多人游戲狀態的有效存儲 Justine Quimby
6.3.1 MMP的問題
6.3.2 Qualities理論
6.3.3 Qualities API
6.3.4 使用Qualities的好處
6.3.5 結論
6.3.6 參考文獻
6.4 在客戶/服務器環境下運用並行狀態機 Jay Lee
6.4.1 獨立狀態
6.4.2 角色狀態管理器
6.4.3 使用CharacterStateMgr
6.4.4 保持客戶端和服務器端的同步
6.4.5 狀態依賴的子系統
6.4.6 結論
6.4.7 參考文獻
6.5 位打包:一種網絡壓縮技術 Pete Isensee
6.5.1 一個實例
6.5.2 難點
6.5.3 位打包
6.5.4 用於可打包數據類型的通用接口
6.5.5 用於可打包數據類型的具體接口
6.5.6 編解碼器
6.5.7 評價折衷
6.5.8 改進
6.5.9 結論
6.5.10 參考文獻
6.6 多服務器網絡游戲的時間和同步管理 石衛東(Larry Shi)、Tao Zhang
6.6.1 為什麼需要時間和同步管理
6.6.2 時鐘同步
6.6.3 同步和響應
6.6.4 用多時間管理來一石二鳥地實現同步和響應
6.6.5 實現
6.6.6 何時應使用多時管理
6.6.7 總結
6.6.8 致謝
6.6.9 參考文獻
第7章 音頻
簡介 Eddie Edwards
7.1 OpenAL簡介 Joe Valenzuela
7.1.1 OpenAL API
7.1.2 有關OpenAL的實現
7.1.3 實現一致性指南
7.1.4 未來OpenAL的發展藍圖
7.1.5 總結
7.1.6 參考文獻
7.2 簡單的實時Lip-Synching系統 Jake Simpson
7.2.1 實現
7.2.2 動畫方面需要注意的事項
7.2.3 聲音音量的水印標記
7.2.4 注意
7.2.5 總結
7.3 動態變量和音頻編程 James Boer
7.3.1 動態變量是什麼?
7.3.2 動態變量類
7.3.3 在音頻編程中使用動態變量
7.3.4 其他改進
7.3.5 結論
7.3.6 參考文獻
7.4 創建一個音頻腳本系統 Borut Pfeifer
7.4.1 游戲中音頻的類別
7.4.2 工具
7.4.3 基於XML的音頻標記庫
7.4.4 腳本系統組件
7.4.5 進一步的工作
7.4.6 總結
7.4.7 參考文獻
7.5 使用EAX和ZoomFX API的環境音效解決方案 Scott Velasquez
7.5.1 什麼是環境音效
7.5.2 音頻引擎的系統要求
7.5.3 潛在可聽集(PAS,Potentially Audible Set)
7.5.4 EAX介紹
7.5.5 總結
7.5.6 參考文獻
7.6 在游戲的物理引擎中控制實時聲音 Frank Luchs
7.6.1 游戲引擎
7.6.2 混合聲音合成
7.6.3 可聽見對象的屬性
7.6.4 對象形狀的影響
7.6.5 對象材質的影響
7.6.6 撞擊和碰撞
7.6.7 演示
7.6.8 總結
7.6.9 參考文獻
附錄 
相關資源:

免責聲明:本網站內容收集於互聯網,本站不承擔任何由於內容的合法性及健康性所引起的爭議和法律責任。如果侵犯了你的權益,請通知我們,我們會及時刪除相關內容,謝謝合作! 聯系信箱:[email protected]

Copyright © 電驢下載基地 All Rights Reserved