注冊(cè) | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當(dāng)前位置: 首頁出版圖書科學(xué)技術(shù)計(jì)算機(jī)/網(wǎng)絡(luò)游戲設(shè)計(jì)游戲編程精粹(2)

游戲編程精粹(2)

游戲編程精粹(2)

定 價(jià):¥75.00

作 者: (美)Mark A.Deloura編;袁國忠,陳蔚譯
出版社: 人民郵電出版社
叢編項(xiàng): 游戲編程精粹
標(biāo) 簽: 游戲 軟件設(shè)計(jì)

ISBN: 9787115108715 出版時(shí)間: 2003-01-01 包裝: 膠版紙
開本: 26cm 頁數(shù): 486 字?jǐn)?shù):  

內(nèi)容簡介

歡迎閱讀《游戲編程精粹2》。本書精選了70篇討論各種游戲編程主題的文章,讀者可將其中闡述的技術(shù)直接應(yīng)用到游戲中。能給讀者呈現(xiàn)一本這樣的圖書,我感到自豪。這是一本必備的參考資料,是40多位經(jīng)驗(yàn)豐富的游戲開發(fā)人員智慧和經(jīng)驗(yàn)的結(jié)晶。Mark Deloura是Game Developer雜志的主編,也是《游戲編程精粹1》和《游戲編程精粹2》的編輯。加入Game Developer之前,Mark在任天堂(美國)公司工作過5年,擔(dān)任開發(fā)人員關(guān)系小組的主力軟件工程師,從事Gamecube和Nintendo 64開發(fā)。在此之前,Mark還從事過虛擬現(xiàn)實(shí)方面的研究,是多個(gè)Usene虛擬現(xiàn)實(shí)新聞組的主持人之一。本書是“游戲編程精粹”系列叢書的第二本,包括70多篇全新的、探討各種游戲編程主題的文章,每篇文章要么提供了某個(gè)編程問題的實(shí)用解決方案,要么提出了一種創(chuàng)造性的減少編程時(shí)間和冗余的方法。本書涵蓋了開發(fā)最尖端的游戲引擎所涉及的主要主題,全書由6章組成,包括通用編程技術(shù)、數(shù)學(xué)技巧、人工智能、幾何體管理、圖形顯示和音頻編程。專家級(jí)開發(fā)人員可以立刻應(yīng)用書

作者簡介

  MarkDeloura是GameDeveloper雜志的主編,也是《游戲編程精粹1》和《游戲編程精粹2》的編輯。加入GameDeveloper之前,Mark在任天堂(美國)公司工作過5年,擔(dān)任開發(fā)人員關(guān)系小組的主力軟件工程師,從事Gamecube和Nintendo64開發(fā)。在此之前,Mark還從事過虛擬現(xiàn)實(shí)方面的研究,是多個(gè)Usene虛擬現(xiàn)實(shí)新聞組的主持人之一。

圖書目錄

第1章  通用編程技術(shù)                  
 緒  論 3                  
 Scott Bilas                  
 1.1  優(yōu)化C++游戲 5                  
 Andrew Kirmse                  
 1.1.1  對(duì)象的創(chuàng)建和銷毀 5                  
 1.1.2  內(nèi)存管理 8                  
 1.1.3  虛擬函數(shù) 9                  
 1.1.4  代碼長度 10                  
 1.1.5  標(biāo)準(zhǔn)模板庫 11                  
 1.1.6  高級(jí)特性 12                  
 1.1.7  參考文獻(xiàn) 13                  
 1.2  內(nèi)聯(lián)函數(shù)和宏 14                  
 Peter Dalton                  
 1.2.1  內(nèi)聯(lián)函數(shù)的優(yōu)點(diǎn) 14                  
 1.2.2  何時(shí)使用內(nèi)聯(lián)函數(shù) 15                  
 1.2.3  何時(shí)使用宏 16                  
 1.2.4  微軟特有的情況 16                  
 1.2.5  參考文獻(xiàn) 17                  
 1.3  抽象接口編程 18                  
 Noel Liopis                  
 1.3.1  抽象接口 18                  
 1.3.2  添加一個(gè)工廠(factory) 19                  
 1.3.3  抽象接口特性 21                  
 1.3.4  一切都是有代價(jià)的 23                  
 1.3.5  結(jié)論 24                  
 1.3.6  參考文獻(xiàn) 24                  
 1.4  從DLL中導(dǎo)出C++類 25                  
 Herb Marselas                  
 1.4.1  導(dǎo)出函數(shù) 25                  
 1.4.2  導(dǎo)出類 25                  
 1.4.3  導(dǎo)出類成員函數(shù) 27                  
 1.4.4  導(dǎo)出虛擬類成員函數(shù) 27                  
 1.4.5  總結(jié) 28                  
 1.5  避免DLL困境 29                  
 Herb Marselas                  
 1.5.1  顯式鏈接還是隱式鏈接 29                  
 1.5.2  LoadLibrary和GetProcAddress 30                  
 1.5.3  提防DirectX 30                  
 1.5.4  使用操作系統(tǒng)特有的特性 31                  
 1.5.5  總結(jié) 32                  
 1.6  動(dòng)態(tài)類型信息 34                  
 Scott Wakeling                  
 1.6.1 動(dòng)態(tài)類型信息類簡介 34                  
 1.6.2  暴露和查詢DTI 35                  
 1.6.3  繼承的含義是“是一個(gè)” 36                  
 1.6.4  處理通用對(duì)象 37                  
 1.6.5  實(shí)現(xiàn)永久性類型信息 38                  
 1.6.6  將永久性類型信息用于游戲保存數(shù)據(jù)庫中 39                  
 1.6.7  結(jié)論 40                  
 1.6.8  參考文獻(xiàn) 40                  
 1.7  用于通用C++成員訪問的屬性類 41                  
 Charles Cafrelli                  
 1.7.1  代碼 41                  
 1.7.2  其他用途 44                  
 1.7.3  推薦讀物 44                  
 1.8  一個(gè)游戲?qū)嶓w工廠 45                  
 Fran?ois Dominic Laramée                  
 1.8.1  組件 45                  
 1.8.2  flyweight類. 行為類和導(dǎo)出類 45                  
 1.8.3  flyweight對(duì)象 46                  
 1.8.4  SAMMy, 你在哪里? 46                  
 1.8.5  行為類層次 47                  
 1.8.6  使用模板方法模式來完成行為任務(wù) 48                  
 1.8.7  導(dǎo)出類 49                  
 1.8.8  實(shí)體工廠 50                  
 1.8.9  在運(yùn)行階段選擇策略 52                  
 1.8.10  最后的注意事項(xiàng) 53                  
 1.8.11  參考文獻(xiàn) 53                  
 1.9  在C++添加摒棄功能 55                  
 Noel Llopis                  
 1.9.1  可能的解決方案 55                  
 1.9.2  理想的解決方案 55                  
 1.9.3  使用和指定被摒棄的函數(shù) 56                  
 1.9.4  使用C++實(shí)現(xiàn)摒棄功能 56                  
 1.9.5  可改進(jìn)的地方 58                  
 1.9.6  致謝 58                  
 1.9.7  參考文獻(xiàn) 58                  
 1.10  一個(gè)插入式調(diào)試內(nèi)存管理器 59                  
 Peter Dalton                  
 1.10.1  內(nèi)存管理器初步 59                  
 1.10.2  內(nèi)存管理器的記錄工作 60                  
 1.10.3  報(bào)告信息 62                  
 1.10.4  注意事項(xiàng) 63                  
 1.10.5  進(jìn)一步的改進(jìn) 64                  
 1.10.6  參考文獻(xiàn) 64                  
 1.11  一個(gè)內(nèi)置的游戲剖析模塊 66                  
 Jeff Evertt                  
 1.11.1  有關(guān)剖析的基本知識(shí) 66                  
 1.11.2  商用工具 67                  
 1.11.3  為何要自己開發(fā)模塊 67                  
 1.11.4  剖析模塊(Profiling module)的需求 68                  
 1.11.5  架構(gòu)和實(shí)現(xiàn) 68                  
 1.11.6  實(shí)現(xiàn)的細(xì)節(jié) 69                  
 1.11.7  分析數(shù)據(jù) 69                  
 1.11.8  有關(guān)實(shí)現(xiàn)的注意事項(xiàng) 70                  
 1.12  用于Windows游戲的線性編程模型 71                  
 Javier F. Otaegui                  
 1.12.1  更新背景 71                  
 1.12.2  解決方案:多線程(Multithreading) 72                  
 1.12.3  參考文獻(xiàn) 75                  
 1.13  棧纏繞 76                  
 Bryon Hapgood                  
 1.13.1  簡單的TempRet 76                  
 1.13.2  TempRet鏈 77                  
 1.13.3  Thunking 78                  
 1.13.4  遞歸 80                  
 1.14  自我修改的代碼 82                  
 Bryon Hapgood                  
 1.14.1  RAM代碼的原理 82                  
 1.14.2  一個(gè)快速的Bit Blitter 83                  
 1.15  使用資源文件來管理文件 91                  
 Bruno Sousa                  
 1.15.1  何為資源文件 91                  
 1.15.2  設(shè)計(jì) 92                  
 1.15.3  實(shí)現(xiàn) 93                  
 1.15.4  有關(guān)實(shí)現(xiàn)的最后一些說明 94                  
 1.15.5  結(jié)論 95                  
 1.15.6  參考文獻(xiàn) 95                  
 1.16  游戲輸入的記錄和重放 96                  
 Bruce Dawson                  
 1.16.1  記錄輸入有何用途 96                  
 1.16.2  原理 97                  
 1.16.3  測試輸入記錄功能 100                  
 1.16.4  結(jié)論 100                  
 1.16.5  參考文獻(xiàn) 101                  
 1.17  一個(gè)靈活的文本分析系統(tǒng) 102                  
 James Boer                  
 1.17.1  分析系統(tǒng) 102                  
 1.17.2  宏. 頭文件和預(yù)處理技術(shù) 103                  
 1.17.3  該分析系統(tǒng)的結(jié)構(gòu) 104                  
 1.17.4  小結(jié) 106                  
 1.18  一個(gè)通用的調(diào)節(jié)器 107                  
 Lasse Staff Jensen                  
 1.18.1  需求分析 107                  
 1.18.2  實(shí)現(xiàn) 107                  
 1.18.3  使用 112                  
 1.18.4  圖形用戶界面 112                  
 1.18.5  附注 114                  
 1.18.6  致謝 114                  
 1.19  生成真正的隨機(jī)數(shù) 115                  
 Pete Isensee                  
 1.19.1  偽隨機(jī) 115                  
 1.19.2  真正隨機(jī) 115                  
 1.19.3  隨機(jī)輸入源 116                  
 1.19.4  硬件源 116                  
 1.19.5  混合函數(shù) 117                  
 1.19.6  局限性 117                  
 1.19.7  實(shí)現(xiàn) 117                  
 1.19.8  GenRand的隨機(jī)程度 119                  
 1.19.9  參考文獻(xiàn) 119                  
 1.20  使用Bloom過濾器來提高計(jì)算性能 120                  
 Mark Fischer                  
 1.20.1  Bloom的方式 120                  
 1.20.2  可能的情形 120                  
 1.20.3  工作原理 121                  
 1.20.4  定義 121                  
 1.20.5  范例1 121                  
 1.20.6  范例2 125                  
 1.20.7  最后的說明 125                  
 1.20.8  結(jié)論 126                  
 1.20.9  參考文獻(xiàn) 126                  
 1.21  3Ds MAX中的Skin導(dǎo)出器和動(dòng)畫工具包 127                  
 Marco Tombesi                  
 1.21.1  導(dǎo)出 128                  
 1.21.2  參考文獻(xiàn) 137                  
 1.22  在視頻游戲中使用Web攝像機(jī) 138                  
 Nathan d'Obrenan                  
 1.22.1  初始化Web攝像機(jī)捕獲窗口 138                  
 1.22.2  操縱Web攝像機(jī)數(shù)據(jù) 143                  
 1.22.3  結(jié)論 147                  
 1.22.4  參考文獻(xiàn) 147                  
 第2章  數(shù)學(xué)技巧                  
 緒  論 151                  
 Eddie Edwards                  
 2.1  浮點(diǎn)計(jì)算技巧:使用IEEE浮點(diǎn)格式以提高性能 152                  
 Yossarian King                  
 2.1.1  概述 152                  
 2.1.2  IEEE浮點(diǎn)格式 152                  
 2.1.3  浮點(diǎn)數(shù)技巧 153                  
 2.1.4  用于正弦和余弦函數(shù)的線性查找表 158                  
 2.1.5  平方根函數(shù)的對(duì)數(shù)優(yōu)化 160                  
 2.1.6  優(yōu)化任何函數(shù) 161                  
 2.1.7  性能測量 163                  
 2.1.8  結(jié)論 163                  
 2.1.9  參考文獻(xiàn) 164                  
                   
 2.2  矢量和平面技巧 165                  
 John Olsen                  
 2.2.1  相對(duì)于碰撞面的高度 165                  
 2.2.2  找出碰撞點(diǎn) 166                  
 2.2.3  到碰撞點(diǎn)的距離 167                  
 2.2.4  反射式碰撞 168                  
 2.2.5  阻尼碰撞 170                  
 2.3  一種快速. 健壯的計(jì)算3D線段交點(diǎn)的方法 172                  
 Graham Rhodes                  
 2.3.1  這種算法健壯的原因 172                  
 2.3.2  問題描述 172                  
 2.3.3  推導(dǎo)閉式解決方案方程 174                  
 2.3.4  線段 179                  
 2.3.5  實(shí)現(xiàn)描述 181                  
 2.3.6  可優(yōu)化的地方 181                  
 2.3.7  結(jié)論 182                  
 2.3.8  參考文獻(xiàn) 182                  
 2.4  反向彈道計(jì)算 183                  
 Aaron Nicholls                  
 2.4.1  一種特殊情況 184                  
 2.4.2  優(yōu)化實(shí)現(xiàn) 189                  
 2.4.3  總結(jié) 190                  
 2.5  平行移動(dòng)鏡頭 191                  
 Carl Dougan                  
 2.5.1  技術(shù) 191                  
 2.5.2  結(jié)論 194                  
 2.5.3  參考文獻(xiàn) 194                  
 2.6  平滑的基于四元數(shù)的C2飛行路徑 195                  
 Alex Vlachos                  
 2.6.1  導(dǎo)論 195                  
 2.6.2  位置插值 195                  
 2.6.3  朝向插值 196                  
 2.6.4  旋轉(zhuǎn)方向和選擇性求負(fù) 197                  
 2.6.5  四元數(shù)樣條線插值 198                  
 2.6.6  有理映射中的奇異點(diǎn) 199                  
 2.6.7  鏡頭剪接 199                  
 2.6.8  代碼 199                  
 2.6.9  參考文獻(xiàn) 200                  
 2.7  遞歸逐維分組:一種快速的碰撞檢測算法 201                  
 Steve Rabin                  
 2.7.1  其他應(yīng)用 202                  
 2.7.2  該算法的缺陷 205                  
 2.7.3  查找碰撞物體對(duì) 206                  
 2.7.4  時(shí)間復(fù)雜度 208                  
 2.7.5  結(jié)論 209                  
 2.7.6  參考文獻(xiàn) 209                  
 2.8  不規(guī)則碎片編程 210                  
 Jesse Laeuchli                  
 2.8.1  無規(guī)則碎片 210                  
 2.8.2  斷層無規(guī)則碎片 211                  
 2.8.3  FBM 211                  
 2.8.4  實(shí)現(xiàn) 212                  
 2.8.5  使用FBM 215                  
 2.8.6  參考文獻(xiàn) 216                  
 第3章  人工智能                  
 緒  論 219                  
 Steve Rabin                  
 3.1  AI優(yōu)化策略 221                  
 Steve Rabin                  
 3.1.1  策略1:使用事件驅(qū)動(dòng)行為而非輪詢 221                  
 3.1.2  策略2:減少重復(fù)計(jì)算 222                  
 3.1.3  策略3:由管理員集中進(jìn)行協(xié)調(diào) 222                  
 3.1.4  策略4:不那么頻繁地運(yùn)行AI 222                  
 3.1.5  策略5:將處理工作分散到多幀中完成 223                  
 3.1.6  策略6:利用細(xì)節(jié)級(jí)AI 223                  
 3.1.7  策略7:只解決問題的一部分 223                  
 3.1.8  策略8:離線完成困難的工作 224                  
 3.1.9  策略9:使用突發(fā)行為以避免編寫腳本 224                  
 3.1.10  策略10:通過連續(xù)記錄來分?jǐn)偛樵兂杀尽?24                  
 3.1.11  策略11:重新考慮問題 225                  
 3.1.12  結(jié)論 225                  
 3.1.13  參考文獻(xiàn) 226                  
 3.2  用于游戲?qū)ο驛I的微線程 227                  
 Bruce Dawson                  
 3.2.1  一個(gè)更簡單的方法 228                  
 3.2.2  微線程 229                  
 3.2.3  棧管理 230                  
 3.2.4  并發(fā)癥 231                  
 3.2.5  結(jié)論 232                  
 3.2.6  參考文獻(xiàn) 232                  
 3.3  使用微線程管理AI 233                  
 Simon Carter                  
 3.3.1  拼湊 233                  
 3.3.2  良好的行為 233                  
 3.3.3  了然于胸 234                  
 3.3.4  并發(fā)癥 236                  
 3.3.5  結(jié)論 238                  
 3.3.6  參考文獻(xiàn) 239                  
 3.4  一種RTS命令排隊(duì)體系結(jié)構(gòu) 240                  
 Steve Rabin                  
 3.4.1  RTS命令 240                  
 3.4.2  命令排隊(duì) 240                  
 3.4.3  循環(huán)命令 242                  
 3.4.4  結(jié)論 244                  
 3.4.5  參考文獻(xiàn) 244                  
 3.5  一種基于分片的高性能視域和搜索系統(tǒng) 245                  
 Matt Pritchard                  
 3.5.1  概述 245                  
 3.5.2  定義 245                  
 3.5.3  組件1:各個(gè)玩家的可見性地圖 246                  
 3.5.4  組件2:LOS模板 246                  
 3.5.5  組件3:合并的可視性地圖 248                  
 3.5.6  改進(jìn)搜索 249                  
 3.5.7  結(jié)論 251                  
 3.6  創(chuàng)建影響力地圖 252                  
 Paul Tozour                  
 3.6.1  影響力地圖 252                  
 3.6.2  一個(gè)簡單的影響力地圖 253                  
 3.6.3  影響力地圖中的單元格數(shù)據(jù) 254                  
 3.6.4  計(jì)算合意值 255                  
 3.6.5  確定最佳的單元格大小 256                  
 3.6.6  影響力傳播 256                  
 3.6.7  考慮地形 257                  
 3.6.8  特別考慮 258                  
 3.6.9  刷新影響力地圖 259                  
 3.6.10  3D環(huán)境中的影響力地圖 259                  
 3.6.11  參考文獻(xiàn)和推薦讀物 260                  
 3.7  策略評(píng)估技術(shù) 261                  
 Paul Tozour                  
 3.7.1  資源分配樹 261                  
 3.7.2  計(jì)算希望的資源分配 262                  
 3.7.3  判斷當(dāng)前的分配情況 263                  
 3.7.4  策略決策 263                  
 3.7.5  值的估量 264                  
 3.7.6  依存圖 264                  
 3.7.7  依存圖節(jié)點(diǎn) 265                  
 3.7.8  經(jīng)濟(jì)規(guī)劃 265                  
 3.7.9  查找脆弱的依存 266                  
 3.7.10  策略推理 266                  
 3.7.11  玩家個(gè)性 267                  
 3.7.12  總結(jié) 267                  
 3.7.13  參考文獻(xiàn) 267                  
 3.8  3D游戲中的地形推理 269                  
 William van der Sterren                  
 3.8.1  以方便推理的方式表示地形 269                  
 3.8.2  中繼點(diǎn)(waypoint) 270                  
 3.8.3  范例地形和AI需求 270                  
 3.8.4  戰(zhàn)術(shù)分析(tactical analysis) 270                  
 3.8.5  從戰(zhàn)術(shù)價(jià)值到中繼點(diǎn)屬性 271                  
 3.8.6  計(jì)算中繼點(diǎn)屬性 272                  
 3.8.7  從經(jīng)驗(yàn)中學(xué)習(xí) 274                  
 3.8.8  將地形推理加入到游戲中 275                  
 3.8.9  其他應(yīng)用 275                  
 3.8.10  結(jié)論 276                  
 3.8.11  參考文獻(xiàn)和推薦讀物 276                  
 3.9  用于可視點(diǎn)尋徑的擴(kuò)展幾何體 277                  
 Thomas Young                  
 3.9.1  定義碰撞模型 277                  
 3.9.2  多邊形尋徑 278                  
 3.9.3  擴(kuò)展并解決問題 278                  
 3.9.4  凸多邊形的閔可夫斯基和 279                  
 3.9.5  擴(kuò)展非凸幾何體 280                  
 3.9.6  選擇碰撞形狀 281                  
 3.9.7  結(jié)論 281                  
 3.9.8  參考文獻(xiàn) 281                  
 3.10  優(yōu)化可視點(diǎn)尋徑 283                  
 Thomas Young                  
 3.10.1  可視點(diǎn)尋徑(points-of-visibility pathfinding) 283                  
 3.10.2  存儲(chǔ)到每個(gè)點(diǎn)的最短路徑 283                  
 3.10.3  將凸角相連 284                  
 3.10.4  輪廓區(qū) 285                  
 3.10.5  將輪廓區(qū)用于空間分區(qū)系統(tǒng) 287                  
 3.10.6  結(jié)論 287                  
 3.10.7  參考文獻(xiàn) 287                  
 3.11  有齒物群的模擬:捕食者和獵物 288                  
 Steven Woodcock                  
 3.11.1  全新的世界 289                  
 3.11.2  有齒物群的模擬 291                  
 3.11.3  局限性和可改進(jìn)的地方 291                  
 3.11.4  參考文獻(xiàn) 292                  
 3.12  一個(gè)用C++編寫的通用模糊狀態(tài)機(jī) 293                  
 Eric Dybsand                  
 3.12.1  為何在游戲中使用FuSM 294                  
 3.12.2  如何在游戲中使用FuSM 294                  
 3.12.3  復(fù)習(xí)《游戲編程精粹1》中的C++通用有限狀態(tài)機(jī) 295                  
 3.12.4  將通用FSM修改為FuSM 295                  
 3.12.5  在游戲中使用模糊邏輯 296                  
 3.12.6  參考文獻(xiàn) 296                  
 3.13  避免模糊系統(tǒng)中的組合激增 297                  
 Michael Zarozinski                  
 3.13.1  問題 297                  
 3.13.2  解決方案 298                  
 3.13.3  范例 299                  
 3.13.4  結(jié)論 303                  
 3.13.5  參考文獻(xiàn) 303                  
 3.14  一個(gè)在游戲中使用神經(jīng)元網(wǎng)絡(luò)的例子 304                  
 John Manslow                  
 3.14.1  游戲 304                  
 3.14.2  多玩家感知器 304                  
 3.14.3  選擇輸入 306                  
 3.14.4  收集數(shù)據(jù) 306                  
 3.14.5  訓(xùn)練MLP 307                  
 3.14.6  結(jié)果 308                  
 3.14.7  結(jié)論 308                  
 3.14.8  參考文獻(xiàn) 309                  
 第4章  幾何體管理                  
 緒  論 313                  
 Eric Lengyel                  
 4.1  各種VIPM方法的比較 314                  
 Tom Forsyth                  
 4.1.1  考慮因素 314                  
 4.1.2  Vanilla VIPM 316                  
 4.1.3  跳帶 319                  
 4.1.4  多層跳帶 319                  
 4.1.5  混合模式VIPM 320                  
 4.1.6  混合模式跳帶 321                  
 4.1.7  滑窗 321                  
 4.1.8  小結(jié) 324                  
 4.1.9  參考文獻(xiàn) 325                  
 4.2  使用聯(lián)鎖分片簡化地形 326                  
 Greg Snook                  
 4.2.1  分片的重訪問 327                  
 4.2.2  生成地圖 328                  
 4.2.3  分片模板 328                  
 4.2.4  消除難看的接縫 329                  
 4.2.5  更好. 更快. 更強(qiáng) 330                  
 4.2.6  結(jié)論 331                  
 4.2.7  參考文獻(xiàn) 331                  
 4.3  快速可視剔除. 射線跟蹤以及范圍搜索的球形樹 332                  
 John W. Ratcliff                  
 4.3.1  包圍球 332                  
 4.3.2  使用球形樹 332                  
 4.3.3  演示應(yīng)用程序 333                  
 4.4  壓縮的軸向包圍盒樹 335                  
 Miguel Gomez                  
 4.4.1  概覽層次排序方法 335                  
 4.4.2  AABB樹 336                  
 4.4.3  構(gòu)建AABB樹 336                  
 4.4.4  壓縮AABB樹 337                  
 4.4.5  近似范圍 337                  
 4.4.6  利用冗余 338                  
 4.4.7  運(yùn)行時(shí)效 339                  
 4.4.8  將來的工作 339                  
 4.4.9  參考文獻(xiàn) 339                  
 4.5  直接訪問四叉樹查找 340                  
 Matt Pritchard                  
 4.5.1  性能剖析 340                  
 4.5.2  消除中間阻礙 341                  
 4.5.3  條件和要求 341                  
 4.5.4  判斷樹層 341                  
 4.5.5  位置映射 343                  
 4.5.6  判斷位置 344                  
 4.5.7  遍歷四叉樹 344                  
 4.5.8  優(yōu)化四叉樹 344                  
 4.6  近似魚缸折射 347                  
 Alex Vlachos                  
 4.6.1  魚缸觀察現(xiàn)象 347                  
 4.6.2  提高其真實(shí)性 349                  
 4.6.3  結(jié)論 349                  
 4.7  渲染打印分辨率的屏幕快照 350                  
 Alex Vlachos                  
 4.7.1  基本算法 350                  
 4.7.2  忠告及注意 353                  
 4.7.3  結(jié)論 353                  
 4.7.4  參考文獻(xiàn) 353                  
 4.8  對(duì)任意表面應(yīng)用貼花 354                  
 Eric Lengyel                  
 4.8.1  算法 354                  
 4.8.2  三角形剪裁 356                  
 4.8.3  實(shí)現(xiàn)代碼 357                  
 4.8.4  參考文獻(xiàn) 357                  
 4.9  用天空包圍盒渲染遠(yuǎn)景 358                  
 Jason Shankel                  
 4.9.1  基本技術(shù) 358                  
 4.9.2  天空包圍盒分辨率 359                  
 4.9.3  天空包圍盒大小 359                  
 4.9.4  渲染場景 360                  
 4.9.5  立方體環(huán)境映射 360                  
 4.9.6  生成天空包圍盒紋理 361                  
 4.9.7  結(jié)論 361                  
 4.9.8  源代碼 361                  
 4.10  自陰影角色 362                  
 Alex Vlachos, David Gosselin, Jason L. Mitchell                  
 4.10.1  研究回顧 362                  
 4.10.2  角色幾何分割 362                  
 4.10.3  渲染紋理 362                  
 4.10.4  渲染角色 363                  
 4.10.5  結(jié)論 364                  
 4.10.6  參考文獻(xiàn) 364                  
 4.11  經(jīng)典的Super Mario 64游戲第三人稱控制和動(dòng)畫 365                  
 Steve Rabin                  
 4.11.1  設(shè)置 365                  
 4.11.2  轉(zhuǎn)換控制器的輸入 365                  
 4.11.3  旋轉(zhuǎn)角色 367                  
 4.11.4  角色移動(dòng) 368                  
 4.11.5  角色動(dòng)畫 368                  
 4.11.6  Super Mario 64動(dòng)畫分析 370                  
 4.11.7  結(jié)論 371                  
 4.11.8  參考文獻(xiàn) 371                  
 第5章  圖形顯示                  
 緒  論 375                  
 D. Sim Dietrich Jr                  
 5.1  卡通渲染:實(shí)時(shí)輪廓邊緣檢測與渲染 376                  
 Carl S. Marshall                  
 5.1.1  著墨器(Inker) 376                  
 5.1.2  重要的邊 377                  
 5.1.3  輪廓邊緣檢測技術(shù) 377                  
 5.1.4  基于邊的著墨 377                  
 5.1.5  可編程頂點(diǎn)著色器著墨 379                  
 5.1.6  高級(jí)紋理特征著墨 381                  
 5.1.7  結(jié)論 381                  
 5.1.8  參考文獻(xiàn) 382                  
 5.2  使用紋理映射的卡通渲染與可編程頂點(diǎn)著色器 383                  
 Adam Lake                  
 5.2.1  卡通著色技術(shù) 383                  
 5.2.2  上色 383                  
 5.2.3  可編程頂點(diǎn)著色器 386                  
 5.2.4  結(jié)論 388                  
 5.2.5  參考文獻(xiàn) 388                  
 5.3  動(dòng)態(tài)逐像素光照技術(shù) 389                  
 Dan Ginsburg, Dave Gosselin                  
 5.3.1  動(dòng)態(tài)光照貼圖的3D紋理 389                  
 5.3.2  Dot3凹凸貼圖(Bump Mapping) 391                  
 5.3.3  使用立方貼圖規(guī)一化 395                  
 5.3.4  逐像素聚光燈(Per-Pixel Spotlight) 396                  
 5.3.5  參考文獻(xiàn) 396                  
 5.4  使用3D硬件生成過程云彩 398                  
 Kim Pallister                  
 5.4.1  云彩性質(zhì) 398                  
 5.4.2  生成隨機(jī)數(shù) 399                  
 5.4.3  噪音多個(gè)倍頻的動(dòng)畫 401                  
 5.4.4  貼圖到天空幾何體 403                  
 5.4.5  功能延伸 404                  
 5.4.6  硬件限制 404                  
 5.4.7  可伸縮性 405                  
 5.4.8  結(jié)論 405                  
 5.4.9  參考文獻(xiàn) 406                  
 5.5  針對(duì)較快鏡頭眩光的紋理屏蔽 407                  
 Chris Maughan                  
 5.5.1  鏡頭眩光遮擋 407                  
 5.5.2  硬件問題 407                  
 5.5.3  紋理屏蔽 409                  
 5.5.4  性能考慮 410                  
 5.5.5  改進(jìn) 411                  
 5.5.6  示例代碼 411                  
 5.5.7  替代途徑 412                  
 5.5.8  參考文獻(xiàn) 412                  
 5.6  實(shí)用優(yōu)先緩沖陰影 413                  
 D. Sim Dietrich Jr.                  
 5.6.1  比較優(yōu)先緩沖與深度緩沖 415                  
 5.6.2  解決鋸齒化問題 416                  
 5.6.3  混合途徑 417                  
 5.6.4  小結(jié) 418                  
 5.6.5  參考文獻(xiàn) 418                  
 5.7  替用體技術(shù):添加點(diǎn)綴 419                  
 Tom Forsyth                  
 5.7.1  整個(gè)過程 419                  
 5.7.2  渲染替換體 420                  
 5.7.3  更新試探法 423                  
 5.7.4  效率 424                  
 5.7.5  預(yù)測 424                  
 5.7.6  小結(jié) 425                  
 5.8  硬件加速過程紋理動(dòng)畫中的運(yùn)算 426                  
 Greg James                  
 5.8.1  硬件運(yùn)算 426                  
 5.8.2  將來的工作 435                  
 5.8.3  致謝 435                  
 5.8.4  示例源碼 435                  
 5.8.5  參考文獻(xiàn) 435                  
 第6章  音頻編程                  
 緒  論 439                  
 James Boer                  
 6.1  游戲音頻設(shè)計(jì)模式 440                  
 Scott Patterson                  
 6.1.1  橋接(Bridge) 440                  
 6.1.2  外觀(Fa?ade) 441                  
 6.1.3  合成(Composite) 441                  
 6.1.4  代理(Proxy) 442                  
 6.1.5  修飾器(Decorator) 442                  
 6.1.6  命令(Command) 443                  
 6.1.7  備忘錄(Memento) 443                  
 6.1.8  觀測器(Observer) 443                  
 6.1.9  大泥球(Big Ball of Mud)(也稱做“意大利面條式”代碼) 444                  
 6.1.10  結(jié)論 445                  
 6.1.11  參考文獻(xiàn) 445                  
 6.2  在采樣合成器中聲音的同步重用技術(shù) 446                  
 Thomas Engel                  
 6.2.1  存在的問題 446                  
 6.2.2  解決方案的思路 447                  
 6.2.3  解決方案 447                  
 6.2.4  結(jié)論 448                  
 6.3  軟件DSP效果 450                  
 Ian Lewis                  
 6.3.1  濾波 450                  
 6.3.2  卷積(convolution) 451                  
 6.3.3  延遲 451                  
 6.3.4  插值(interpolation) 452                  
 6.3.5  參考文獻(xiàn) 453                  
 6.4  數(shù)字音頻的交互式處理管線 454                  
 Keith Weiner                  
 6.4.1  簡介 454                  
 6.4.2  討論 456                  
 6.4.3  代碼 458                  
 6.4.4  額外注釋 461                  
 6.4.5  結(jié)論 462                  
 6.5  游戲中的基本音樂音序器 463                  
 Scott Patterson                  
 6.5.1  音樂流與音序 463                  
 6.5.2  核心計(jì)算機(jī)音樂概念 464                  
 6.5.3  計(jì)算機(jī)音序器實(shí)現(xiàn) 466                  
 6.5.4  音頻合成(composite)控制 472                  
 6.5.5  源碼 473                  
 6.5.6  結(jié)論 473                  
 6.5.7  參考文獻(xiàn) 473                  
 6.6  用于游戲的交互式音序器 474                  
 Scott Patterson                  
 6.6.1  音樂聯(lián)想 474                  
 6.6.2  音樂意義 474                  
 6.6.3  過渡 476                  
 6.6.4  過渡類型 476                  
 6.6.5  控制粒度 477                  
 6.6.6  目標(biāo)控制 477                  
 6.6.7  設(shè)計(jì)示例 479                  
 6.6.8  源碼 480                  
 6.6.9  結(jié)論 480                  
 6.6.10  參考文獻(xiàn) 480                  
 6.7  底層聲音API 481                  
 Ian Lewis                  
 核心類 481                  
 索引  483                  

本目錄推薦

掃描二維碼
Copyright ? 讀書網(wǎng) ranfinancial.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號(hào) 鄂公網(wǎng)安備 42010302001612號(hào)