OpenGL ES 2.0 遊戲與圖形編程-適用於 iOS 和 Android (Game and Graphics Programming for iOS and Android with OpenGL ES 2.0) OpenGL ES 2.0游戏与图形编程:适用于iOS和Android

馬魯基-弗伊諾 (Romain Marucchi-Foino)

買這商品的人也買了...

商品描述

<內容簡介>

Romain Marucchi-Foino足流行移動遊戲引擎S102的原作者和創建者。Romain曾從事桌面遊戲引擎開發工作,目前負責管理sio2interactive.com的3D引擎編程項目,並擔任SI02,引擎的正式開發者;Si02引擎驅動著App Store和 Android市場巾數以千計的遊戲和3D應用程序。

<目錄>

第1章  入門
1.1  軟件需求
1.1.1  針對iOS開發人員
1.1.2  針對Android開發人員
1.2  下載本書的SDK
1.3  導入項目
1.3.1  針對iOS開發人員
1.3.2  針對Android開發人員
1.4  模板
1.5  小結

第2章  設置圖形投影
2.1  三種基本的投影類型
2.2  正射2D投影
2.2.1  程序和項目初始化
2.2.2  頂點和片段著色器
2.2.3  鏈接著色器程序
2.2.4  繪圖代碼
2.3  正交投影
2.4  透視投影
2.5  小結

第3章  處理複雜幾何圖形
3.1  Wavefront文件格式
3.1.1  cube.obj
3.1.2  cube.mtl
3.2  準備OBJ瀏覽器代碼
3.3  加載OBJ
3.4  構建著色器
3.4.1  頂點著色器
3.4.2  片段著色器
3.4.3  頂點緩衝區對象
3.4.4  存儲頂點數據
3.4.5  構建頂點數據數組(VBO)
3.4.6  構建元素數組VBO
3.5  構建VAO
3.6  渲染Momo
3.7  處理Touche事件
3.8  逐頂點光照
3.8.1  頂點著色器的光照計算
3.8.2  修改片段著色器
3.8.3  更多uniform變量
3.9  對Momo進行美化
3.9.1  加載紋理
3.9.2  調整頂點數據
3.9.3  向頂點著色器添加UV支持
3.9.4  向片段著色器添加紋理支持
3.9.5  綁定紋理
3.10  小結


第4章  構建場景
4.1  處理多個對象
4.2  代碼結構
4.3  加載和繪製場景
4.4  著色器代碼
4.5  不同的對象類型
4.6  繪製順序
4.7  修復場景
4.7.1  UberShader
4.7.2  使用UberShader
4.7.3  渲染循環對象分類
4.7.4  雙面
4.8  逐像素光照
4.8.1  使頂點著色器更加豐富
4.8.2  獲取使用了更多Uber的片段著色器
4.8.3  封裝實現代碼
4.9  小結

第5章  優化
5.1  基本應用程序
5.2  從三角形到三角形帶
5.3  構建三角形帶
5.4  紋理優化
5.5  添加16位紋理轉換
5.6  PVR紋理壓縮
5.7  仿造細節
5.7.1  凸凹貼圖的實現
5.7.2  精度限定符優化
5.7.3  法線貼圖光照計算
5.7.4  添加反射
5.8  幾何圖形和著色器LOD
5.9  紋理地圖集
5.10  在軟件中管理狀態
5.11  自動著色器優化
5.12  小結

第6章  實時物理
6.1  物理對象類型
6.2  物理形狀
6.3  使用Bullet
6.4  HelloPhysics
6.5  碰撞回調、觸發器和接觸點
6.5.1  Contact-Added回調
6.5.2  Near回調
6.5.3  接觸點
6.6  2D物理
6.6.1  更多形狀
6.6.2  構建物理對象
6.6.3  攝像頭跟蹤
6.6.4  用戶交互

6.6.5  遊戲邏輯
6.7  3D物理
6.7.1  Bullet文件格式
6.7.2  3D彈珠遊戲
6.8  小結

第7章  攝像頭
7.1  一觸即發
7.2  攝像頭視錐
7.2.1  視錐構建方式
7.2.2  視錐剪切的實現
7.2.3  更多剪切函數
7.3  攝像頭飛行模式
7.4  帶有碰撞檢測的第一人稱攝像頭
7.5  3D攝像頭跟蹤
7.6  帶有碰撞的第三人稱攝像頭
7.7  小結

第8章  路徑發現
8.1  Recast和Detour
8.2  導航
8.3  創建導航網格
8.4  3D物理拾取
8.5  玩家的自動驅動
8.6  使路徑點可見
8.7  遊戲「如果能就抓住我!
8.8  瞭解你的敵人
8.9  遊戲狀態邏輯
8.10  小結

第9章  音頻及其他極佳的遊戲編程資料
9.1  0peAL
9.2  0GGVorbis
9.3  HelloWorldOpenAL樣式
9.4  初始化OpenAL
9.5  播放靜態內存聲音
9.6  定位聲源
9.7  鋼琴遊戲
9.7.1  加載靜態的流式聲音
9.7.2  顏色提取
9.7.3  鋼琴遊戲邏輯
9.7.4  最後的調整
9.8  滾球遊戲
9.8.1  GFX著色器
9.8.2  鏈接定位聲源
9.8.3  加速計驅動攝像頭
9.8.4  廉價的FX 
9.8.5  遊戲邏輯和調整
9.9  小結


第10章  高級光照
10.1  燈的類型
10.2  使用光源
10.2.1  定向燈著色器
10.2.2  使用Smact作為IJniform
10.3  點燈
10.3.1  點光源著色器代碼 
10.3.2  光的衰減 
10.3.3  帶有衰減代碼的點光源
10.3.4  衰減Uniform變量
10.3.5  球體點光源
10.3.6  調整點光源代碼
10.3.7  聚光燈
10.3.8  聚光燈著色器代碼
10.4  多個光源
10.5  使著色器程序動態化 
10.6  小結

第11章  高級FX
11.1  渲染到紋理
11.2  後處理效果
11.2.1  第一渲染通道 
11.2.2  第二渲染通道 
11.2.3  全屏通道和模糊著色器
11.3  投影紋理
11.4  投影著色器
11.5  投影實時陰影
11.6  使用深度紋理投射陰影
11.7  關於幀緩衝對象的其他內容
11.8  粒子 
11.9  小結

第12章  骨骼動畫
12.1  傳統的動畫系統與最新的動畫系統
12.2  MD5文件格式 
12.3  加載MD5網格
12.4  對網格進行動畫處理
12.4.1  LERP 
12.4.2  SLERP
12.5  混合動畫
12.6  相加混合
12.7  小結