-- 會員 / 註冊 --  
 帳號:
 密碼:
  | 註冊 | 忘記密碼
3/26 新書到! 3/19 新書到! 3/14 新書到! 12/12 新書到!
購書流程Q & A站務留言版客服信箱
3ds MaxMayaRhinoAfter EffectsSketchUpZBrushPainterUnity
PhotoShopAutoCadMasterCamSolidWorksCreoUGRevitNuke
C#CC++Java遊戲程式Linux嵌入式PLCFPGAMatlab
駭客資料庫搜索引擎影像處理FluentVR+ARANSYS深度學習
單晶片AVROpenGLArduinoRaspberry Pi電路設計CadenceProtel
HadoopPythonStm32CortexLabview手機程式AndroidiPhone
可查書名,作者,ISBN,3dwoo書號
詳細書籍分類

OpenGL ES 2.0游戲與圖形編程——適用于iOS 和 Android

( 簡體 字)
作者:[美] Romain Marucchi-Foino著類別:1. -> 多媒體 -> OpenGL
譯者:王凈 譯
出版社:清華大學出版社OpenGL ES 2.0游戲與圖形編程——適用于iOS 和 Android 3dWoo書號: 38300
詢問書籍請說出此書號!

缺書
不接受訂購

出版日:3/3/2014
頁數:270
光碟數:0
站長推薦:
印刷:黑白印刷語系: ( 簡體 版 )
不接受訂購
ISBN:9787302352303
作者序 | 譯者序 | 前言 | 內容簡介 | 目錄 | 
(簡體書上所述之下載連結耗時費功, 恕不適用在台灣, 若讀者需要請自行嘗試, 恕不保證)
作者序:

譯者序:

前言:

歡迎使用本書。本書并不是一本常見的“OpenGL Hello Triangle”書籍—— 也就是說并不會詳細解釋“為什么”(你可以從Google上找到相關的原因),而重點介紹“如何做”。將會詳細地介紹在編寫游戲和圖形程序時應該做什么,不應該做什么。
本書包括了50多個不同的教程(其中還包括了一些完整的游戲框架),并且采用了一種簡單實用的新穎方法重點介紹需要學習的內容,從而確保完成教程后可以創建一款游戲。
我們將學習使用豐富的3D圖像創建完整游戲所需的所有元素。如果正在尋找一種好的教學方法來幫助你快速創建夢想中的游戲,那么本書正是你所需要的。
本書讀者對象
首先,本書并不是一本入門級圖書,而是一本中等層次的書籍,本書假設你已經熟悉線性代數(矩陣、向量和四元數),具有深厚的C/C++編程背景,至少接觸過基礎的OpenGL或者OpenGL ES,以及知道計算機圖形的基本工作方式。
如果已經掌握了這些必需的知識,并且想在游戲和圖形編程方面取得閃電般的進步,那么本書正是你所需要的。本書主要是為那些想要學習核心知識以便創建功能完備的游戲并在App Store和Android Market上進行售賣的人所撰寫的。
本書主要內容
從根本上講,本書包括了創建一個完整的游戲所需的所有知識。你將學習創建游戲所涉及的各個方面,如加載3D幾何體和紋理,如何處理材質、著色器、聲音、攝像頭、剪切、物理、AI、路徑發現和骨骼動畫等。
在學完本書后,你將能使用所學的知識并組合所完成的不同教程以創建自己的高級游戲。
本書組織結構
本書的組織結構是所有的章節都彼此關聯。每一章都會逐步向讀者演示如何掌握所需的技術,以便能夠處理和理解下一章的內容。
接下來是所有章的列表,以及每一章所介紹的內容:
● 第1章“入門”——我們將學習如何構建開發環境,下載本書的SDK,導入并重新編譯教程以及如何處理全書將要使用的模板項目。
● 第2章“設置圖形投影”—— 由于已經擁有了一個正在運行的模板,因此我們將學習如何構建所需的投影矩陣,以便能夠處理2D、2.5D或3D。此外還將學習如何在屏幕上繪制簡單幾何圖形以及如何處理攝像頭矩陣。
● 第3章“處理復雜幾何圖形”—— 我們將通過創建一個Wavefront OBJ查看器來學習如何從磁盤加載復雜幾何圖形。還將學習如何加載和創建紋理,如何處理基本光照以及響應觸摸事件。
● 第4章“構建場景”—— 該章將對第3章學到的知識進行擴展,將解釋如何處理更復雜的場景。我們將學習繪圖序列以及如何創建可重用的著色器。
● 第5章“優化”—— 該章將介紹可用來優化繪圖性能的相關技術。我們將學習紋理壓縮和著色器優化的基礎知識,學習如何將三角形轉換為三角形帶以及其他用來獲取更佳FPS的提示和技巧。
● 第6章“實時物理”—— 由于在該章之前我們已經學習了如何正確地處理場景,因此該章將介紹如何使用Bullet向場景添加實時物理行為。我們將首先學習如何創建物理世界和物理實體。然后學習如何在代碼中使用不同的技術,以便在碰撞回調中或者根據兩個或更多個物理實體之間的接觸點添加相關邏輯。
● 第7章“攝像頭”—— 該章將重點介紹攝像頭。我們將首先學習構建視錐平面,并能從攝像頭的角度確定場景中每個對象的可見性。然后學習如何實現多種不同類型的攝像頭,包括帶有碰撞的完整第一人稱和第三人稱攝像頭(你可以在自己的應用程序中使用這些攝像頭)。
● 第8章“路徑發現”—— 人工智能(AI)和路徑發現功能在游戲中通常扮演重要角色,而這恰好是本章將要介紹的內容。我們將學習如何使用Recast和Detour庫構建導航網格以及讓實體在場景中自動移動。該章還將演示如何使用True Type Font生成字體紋理以及如何在屏幕上繪制動態文本。
● 第9章“音頻及其他極佳的游戲編程資料”—— 該章主要介紹如何使用OpenAL來播放音頻。我們將學習如何加載OGG Vorbis聲音文件以及如何實時地從內存中以流的方式讀出這些文件或者靜態地將它們存儲到音頻存儲器中。此外,還將學習如何創建3D定位和環境聲源,如何使用加速計以及如何實現紋理動畫和創建其他多種效果。
● 第10章“高級光照”—— 該章將介紹如何應用動態光照,這可能是游戲和圖形編程中最難掌握的內容。在該章,我們將創建多種不同類型的燈(從定向燈到聚光燈),并學習如何實時處理這些燈。
● 第11章“高級FX”—— 該章主要介紹一些特殊效果。我們將學習如何創建全屏的后處理效果、投影紋理和實時陰影,以及如何處理粒子。
● 第12章“骨骼動畫”—— 最后的內容并不一定是最不重要的內容。在該章,我們將學習如何使用MD5文件格式處理骨骼動畫。該章將首先介紹如何加載和繪制附加到骨骼的網格。然后介紹如何加載動作文件以及如何使用不同類型的混合方法來混合這些動作。
你將會發現,本書并不只是介紹相關理論,還會演示如何將每章所學到的知識應用到實際游戲方案中。
如你所見,本書介紹了在日常游戲或3D應用程序中需要使用的有用知識。如果掌握了本書中的所有內容,就可以很快地開始編寫實際的游戲和圖形程序。
使用本書所需條件
如果打算為iOS系統開發應用程序,那么需要一臺可以支持iOS SDK最新版本的Mac(如果想了解更多的信息,請訪問http://developer.apple.com)。由于iOS SDK提供了iPhone/iPod Touch和iPad模擬器(可用開發和測試應用程序),因此iDevice是可選的。該模擬器與本書所包含的內容是完全兼容的。
如果打算為Android開發應用程序,那么需要一臺帶有Android SDK所支持的操作系統的Mac或PC(更多信息請訪問http://developer.android.com)。同時,還需要一臺支持OpenGL ES 2.0的Android設備,因為Android SDK綁定的模擬器僅支持OpenGL ES 1.0。
此外,本書使用Blender作為3D建模軟件(因為該軟件是免費和開源的)。所以,為了測試、調試和重新輸出本書SDK中使用的所有測試場景,請從http://blender.org獲取該軟件的一份副本。
SDK源代碼
可從www.wrox.com下載本書中所使用的官方SDK(被壓縮為一個.zip文件)。該SDK包含了本書中所介紹的所有教程的最終結果。同時,還包含了SDK的全部源代碼以及教程中使用的所有原始資產,因此你可以訪問書中的2D/3D場景,并且可以重新編譯它們。也可以訪問http://www.tupwk.com.cn/downpage,輸入本書中文書名或ISBN,下載本書源代碼。





此外,我個人還在GFX 3D Engine(一款免費且開源的迷你3D游戲和圖形引擎,我們將在本書中使用該引擎,如圖0-1所示)的官方網站上提供了本書的SDK(使用了GIT版本的控制系統),可從http://gfx.sio2interactive.com下載該引擎。

圖0-1 GFX 3D Engine
讀者可以隨時從GFX 3D Engine網站找到本書SDK的最新版本(針對上一個版本的bug進行了修復),因為對于我來說,在該網站上可以更加容易地使用版本控制來更新源代碼。而對于www.wrox.com上的官方SDK來說,更新速度則相對較慢,因為官方SDK版本是由發布者提供的,如果愿意,可以耐心地等待官方SDK的發布。
此外值得一提的是,在GFX 3D Engine網站上(http://gfx.sio2interactive.com),你可以找到針對本書SDK的支持論壇以及GFX 3D Engine的最新版本。該網站還提供了其他的與3D游戲和圖形相關聯的演示、教程和其他材料,并且都與本書的SDK完全兼容。
勘誤表
盡管我們已經盡了各種努力來保證文章或代碼中不出現錯誤,但是錯誤總是難免的,如果你在本書中找到了錯誤,例如拼寫錯誤或代碼錯誤,請告訴我們,我們將非常感激。通過勘誤表,可以讓其他讀者避免受挫,當然,這還有助于提供更高質量的信息。
要在網站上找到本書的勘誤表,可以登錄http://www.wrox.com,通過Search工具或書名列表查找本書,然后在本書的細目頁面上,單擊Book Errata鏈接。在這個頁面上可以查看Wrox編輯已提交和粘貼的所有勘誤項。完整的圖書列表還包括每本書的勘誤表,網址是www.wrox.com/misc-pages/booklist.shtml。
如果在Book Errata頁面上沒有看到你找出的錯誤,請進入www.worx.com/contact/ techsupport.shtml,填寫表單,發電子郵件,我們就會檢查你的信息,如果是正確的,就在本書的勘誤表中粘貼一個消息,我們將在本書的后續版本中采用。
另外,如果有任何意見和建議,也可以給wkservice@vip.163.com發電子郵件。
p2p.wrox.com
P2P郵件列表是為作者和讀者之間的討論而建立的。讀者可以在p2p.wrox.com上加入P2P論壇。該論壇是一個基于Web的系統,用于傳送與Wrox圖書相關的信息和相關技術,與其他讀者和技術用戶交流。該論壇提供了訂閱功能,當論壇上有新帖子時,會給你發送你選擇的主題。Wrox作者、編輯和其他業界專家和讀者都會在這個論壇上進行討論。
在http://p2p.wrox.com上有許多不同的論壇,幫助讀者閱讀本書,在讀者開發自己的應用程序時,也可以從這個論壇中獲益。要加入這個論壇,必須執行下面的步驟:
(1) 進入p2p.wrox.com,單擊Register鏈接。
(2) 閱讀其內容,單擊Agree按鈕。
(3) 提供加入論壇所需的信息及愿意提供的可選信息,單擊Submit按鈕。
(4) 然后就可以收到一封電子郵件,其中的信息描述了如何驗證賬戶,完成加入過程。





加入論壇后,就可以發送新信息,回應其他用戶的帖子。可以隨時在Web上閱讀信息。如果希望某個論壇給自己發送新信息,可以在論壇列表中單擊該論壇對應的Subscribe to this Forum圖標。
對于如何使用Wrox P2P的更多信息,可閱讀P2P FAQ,了解論壇軟件的工作原理,以及許多針對P2P和Wrox圖書的常見問題解答。要閱讀FAQ,可以單擊任意P2P頁面上的FAQ鏈接。

內容簡介:

開發高端游戲時,在美感和功能之間找到一個理想平衡點并非易事,而這恰好是本書要解決的問題。如果你具有深厚的C/C++編程背景,并且了解計算機圖形基礎知識,將發現這本極具價值的書籍涵蓋了快速創建一款完整游戲需要的所有知識。OpenGL ES 2.0游戲與圖形編程——適用于iOS和Android》由成功的游戲引擎開發人員Romain Marucchi-Foino撰寫,涉及游戲開發的所有方面;如加載復雜幾何圖形和紋理,處理GLSL材質、聲音、攝像頭和剪輯,物理、路徑發現和AI,后期處理效果,實時光照和陰影,以及使用骨骼動畫等。運用從本書學到的知識,你將能快速構建出自己的高級游戲。

目錄:

第1章 入門 1
1.1 軟件需求 1
1.1.1 針對iOS開發人員 1
1.1.2 針對Android開發人員 2
1.2 下載本書的SDK 3
1.3 導入項目 4
1.3.1 針對iOS開發人員 5
1.3.2 針對Android開發人員 5
1.4 模板 6
1.5 小結 7
第2章 設置圖形投影 9
2.1 三種基本的投影類型 9
2.2 正射2D投影 11
2.2.1 程序和項目初始化 12
2.2.2 頂點和片段著色器 14
2.2.3 鏈接著色器程序 16
2.2.4 繪圖代碼 18
2.3 正交投影 23
2.4 透視投影 26
2.5 小結 27
第3章 處理復雜幾何圖形 29
3.1 Wavefront文件格式 29
3.1.1 cube.obj 30
3.1.2 cube.mtl 31
3.2 準備OBJ瀏覽器代碼 31
3.3 加載OBJ 32
3.4 構建著色器 35
3.4.1 頂點著色器 35
3.4.2 片段著色器 36
3.4.3 頂點緩沖區對象 36
3.4.4 存儲頂點數據 36
3.4.5 構建頂點數據數組(VBO) 38
3.4.6 構建元素數組VBO 39
3.5 構建VAO 40
3.6 渲染Momo 42
3.7 處理Touche事件 44
3.8 逐頂點光照 45
3.8.1 頂點著色器的光照計算 46
3.8.2 修改片段著色器 47
3.8.3 更多uniform變量 48
3.9 對Momo進行美化 49
3.9.1 加載紋理 49
3.9.2 調整頂點數據 50
3.9.3 向頂點著色器添加UV
支持 52
3.9.4 向片段著色器添加紋理支持 52
3.9.5 綁定紋理 53
3.10 小結 54
第4章 構建場景 55
4.1 處理多個對象 55
4.2 代碼結構 56
4.3 加載和繪制場景 57
4.4 著色器代碼 61
4.5 不同的對象類型 62
4.6 繪制順序 62
4.7 修復場景 63
4.7.1 Uber Shader 63
4.7.2 使用Uber Shader 64
4.7.3 渲染循環對象分類 67
4.7.4 雙面 69
4.8 逐像素光照 71
4.8.1 使頂點著色器更加豐富 71
4.8.2 獲取使用了更多Uber的片段著色器 72
4.8.3 封裝實現代碼 74
4.9 小結 77
第5章 優化 79
5.1 基本應用程序 79
5.2 從三角形到三角形帶 80
5.3 構建三角形帶 81
5.4 紋理優化 82
5.5 添加16位紋理轉換 83
5.6 PVR紋理壓縮 84
5.7 仿造細節 85
5.7.1 凸凹貼圖的實現 85
5.7.2 精度限定符優化 86
5.7.3 法線貼圖光照計算 88
5.7.4 添加反射 90
5.8 幾何圖形和著色器LOD 91
5.9 紋理地圖集 91
5.10 在軟件中管理狀態 92
5.11 自動著色器優化 93
5.12 小結 94
第6章 實時物理 95
6.1 物理對象類型 95
6.2 物理形狀 96
6.3 使用Bullet 97
6.4 Hello Physics 97
6.5 碰撞回調、觸發器和接觸點 102
6.5.1 Contact-Added回調 103
6.5.2 Near回調 105
6.5.3 接觸點 106
6.6 2D物理 107
6.6.1 更多形狀! 108
6.6.2 構建物理對象 111
6.6.3 攝像頭跟蹤 112
6.6.4 用戶交互 114
6.6.5 游戲邏輯 114
6.7 3D物理 118
6.7.1 Bullet文件格式 118
6.7.2 3D彈珠游戲 119
6.8 小結 125
第7章 攝像頭 127
7.1 一觸即發 128
7.2 攝像頭視錐 130
7.2.1 視錐構建方式 131
7.2.2 視錐剪切的實現 132
7.2.3 更多剪切函數 133
7.3 攝像頭飛行模式 134
7.4 帶有碰撞檢測的第一人稱
攝像頭 139
7.5 3D攝像頭跟蹤 141
7.6 帶有碰撞的第三人稱攝像頭 143
7.7 小結 148
第8章 路徑發現 149
8.1 Recast和Detour 149
8.2 導航 150
8.3 創建導航網格 151
8.4 3D物理拾取 153
8.5 玩家的自動驅動 157
8.6 使路徑點可見 159
8.7 游戲“如果能就抓住我!” 161
8.8 了解你的敵人 164
8.9 游戲狀態邏輯 165
8.10 小結 168
第9章 音頻及其他極佳的游戲編程資料 171
9.1 OpenAL 172
9.2 OGG Vorbis 173
9.3 Hello World OpenAL樣式 173
9.4 初始化OpenAL 174
9.5 播放靜態內存聲音 174
9.6 定位聲源 176
9.7 鋼琴游戲 177
9.7.1 加載靜態的流式聲音 178
9.7.2 顏色提取 182
9.7.3 鋼琴游戲邏輯 185
9.7.4 最后的調整 188
9.8 滾球游戲 190
9.8.1 GFX著色器 191
9.8.2 鏈接定位聲源 192
9.8.3 加速計驅動攝像頭 196
9.8.4 廉價的FX 199
9.8.5 游戲邏輯和調整 200
9.9 小結 206
第10章 高級光照 207
10.1 燈的類型 207
10.2 使用光源 208
10.2.1 定向燈著色器 211
10.2.2 使用Struct作為Uniform 214
10.3 點燈 217
10.3.1 點光源著色器代碼 218
10.3.2 光的衰減 221
10.3.3 帶有衰減代碼的點光源 222
10.3.4 衰減Uniform變量 223
10.3.5 球體點光源 224
10.3.6 調整點光源代碼 225
10.3.7 聚光燈 227
10.3.8 聚光燈著色器代碼 229
10.4 多個光源 231
10.5 使著色器程序動態化 234
10.6 小結 235
第11章 高級FX 237
11.1 渲染到紋理 238
11.2 后處理效果 238
11.2.1 第一渲染通道 241
11.2.2 第二渲染通道 242
11.2.3 全屏通道和模糊著色器 243
11.3 投影紋理 246
11.4 投影著色器 249
11.5 投影實時陰影 250
11.6 使用深度紋理投射陰影 254
11.7 關于幀緩沖對象的其他內容 255
11.8 粒子 255
11.9 小結 257
第12章 骨骼動畫 259
12.1 傳統的動畫系統與最新的動畫系統 259
12.2 MD5文件格式 261
12.3 加載MD5網格 261
12.4 對網格進行動畫處理 264
12.4.1 LERP 266
12.4.2 SLERP 266
12.5 混合動畫 267
12.6 相加混合 269
12.7 小結 271

序: