返回列表 回復 發帖

《Android 3D遊戲開發技術寶典:OpenGL ES 2.0》

作者: hkengineer1 日期: 2014-2-19 21:58 閱讀: 811打印 收藏
中文名: Android 3D遊戲開發技術寶典:OpenGL ES 2.0
資源格式: PDF
語言: 簡體中文
簡介:


內容簡介:

《Android 3D遊戲開發技術寶典:OpenGL ES 2.0》作者答疑與Android 3D相關的技術資料分享 請到優億社區 Android 3D遊戲開發小組下載。 
  隨著智慧手機移動嵌入式平臺硬體性能的不斷提升,3D遊戲應用也逐漸普及開來。《Android 3D遊戲開發技術寶典:OpenGL ES 2.0》結合作者多年從事3D遊戲應用開發的寶貴經驗,全面介紹了與Android平臺相關的必知必會的基礎知識及大型完整3D案例,講解上由淺入深,循序漸進,起點低、終點高,既適合初學者學習,也適合有一定基礎的讀者進一步提升之用。另外,由於OpenGL ES 2.0的著色語言通用於各種移動嵌入式平臺,因此,《Android 3D遊戲開發技術寶典:OpenGL ES 2.0》中與著色器開發相關的60%左右的內容還可供iPhone、Windows Mobile、MeeGoo等平臺的開發人員參考。
  全書共22章,其中第1章與第2章為Android平臺相關的一些基礎知識;第3章∼第10章介紹了基於OpenGL ES 2.0進行3D應用開發的一些必知必會的基本知識;第11章∼第15章介紹了一些高級特效的實現方法;第16章∼第17章介紹了3D遊戲開發中相關的一些物理、碰撞檢測知識以及常用的3D物理引擎JBullet;第19章介紹了3種人機交互的高級技術;第20章∼第22章給出了3個完整的大型3D遊戲案例,總代碼量接近6萬行。同時為了便於讀者的學習,《Android 3D遊戲開發技術寶典:OpenGL ES 2.0》附贈的光碟中包含了書中所有案例的完整原始程式碼,同時給出了最後3個完整大型3D遊戲案例的講解視頻,最大限度地説明讀者快速掌握相應的開發技術。
  《Android 3D遊戲開發技術寶典:OpenGL ES 2.0》適合Android程式師、遊戲開發者及Android愛好者學習,也可以作為相關培訓學校和大專院校相關專業的教學用書。

內容截圖:



目錄:


第1章 新一代的王者--Android概覽
1.1 智慧手機市場現狀
1.1.1 五大智慧手機作業系統
1.1.2 智慧手機市場的新星
1.2 Android平臺的特點及未來的趨勢
1.2.1 全新理念帶來的體驗風暴
1.2.2 中國手機市場的主導性作用
1.2.3 手機3D遊戲和應用增長迅速
1.3 如何搭建Android開發環境
1.3.1 SDK的安裝及環境配置
1.3.2 Eclipse整合式開發環境的搭建
1.3.3 創建並啟動模擬器
1.4 Hello Android應用程式的開發
1.4.1 第一個Android應用程式
1.4.2 Android應用程式的專案結構
1.4.3 Android應用程式的調試
1.4.4 實際設備的連線調試
1.5 Android應用程式運行的機制
1.5.1 應用程式的系統架構
1.5.2 應用程式框架
1.5.3 Android運行時
1.5.4 系統庫
1.5.5 底層Linux內核
1.6 本章小結

第2章 遊戲開發相關Android基礎知識
2.1 遊戲中的音效
2.1.1 遊戲中的即時音效
2.1.2 即時音效的一個案例
2.1.3 背景音樂播放技術
2.1.4 簡易音樂播放機的實現
2.2 簡單資料的存儲--Preferences
2.2.1 Preferences簡介
2.2.2 Preferences實現存取時間的記錄
2.3 手機自帶資料庫--SQLite
2.3.1 初識SQLite
2.3.2 SQLite資料庫的基本操作
2.3.3 SQLite資料庫的簡單案例
2.3.4 使用ContentProvider元件共用資料
2.3.5 使用ContentResolver獲取分享資料
2.4 文件I/O
2.4.1 訪問SD卡中的檔
2.4.2 訪問手機中的資料夾
2.4.3 讀取assets資料夾下的內容
2.5 2D動畫的開發
2.5.1 SurfaceView用法簡介
2.5.2 使用SurfaceView實現2D動畫
2.6 Socket網路通信
2.6.1 Socket開發基本知識
2.6.2 伺服器端
2.6.3 用戶端
2.7 藍牙通信
2.7.1 藍牙通信的基本知識
2.7.2 聊天案例概覽
2.7.3 聊天案例的開發過程
2.8 本章小結

第3章 初識OpenGL ES 2.
3.1 OpenGL ES 2.0概覽
3.1.1 OpenGL ES 2.0簡介
3.1.2 初識OpenGL ES 2.0應用程式
3.2 著色器與渲染管線
3.2.1 OpenGL ES 1.x的渲染管線
3.2.2 OpenGL ES 2.0的渲染管線
3.2.3 OpenGL ES中立體物體的構建
3.3 主流Android手機GPU大PK
3.3.1 手機GPU四大家族對比
3.3.2 主流GPU的性能參數比較
3.4 本章小結

第4章 著色語言Shading Language
4.1 著色語言概述
4.2 著色語言基礎
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.2.9 程式的基本結構
4.3 特殊的內建變數
4.3.1 頂點著色器中的內建變數
4.3.2 片元著色器中的內建變數
4.4 著色語言的內置函數
4.4.1 角度轉換與三角函數
4.4.2 指數函數
4.4.3 常見函數
4.4.4 幾何函數
4.4.5 矩陣函數
4.4.6 向量關係函數
4.4.7 紋理採樣函數
4.4.8 微分函數
4.5 本章小結

第5章 投影及各種變換
5.1 攝像機的設置
5.2 兩種投影方式
5.2.1 正交投影
5.2.2 透視投影
5.3 各種變換
5.3.1 基本變換的相關數學知識
5.3.2 平移變換
5.3.3 旋轉變換
5.3.4 縮放變換
5.3.5 基本變換的實質
5.4 繪製方式
5.4.1 各種繪製方式概覽
5.4.2 點與線段繪製方式
5.4.3 三角形條帶與扇面繪製方式
5.4.4 頂點法與索引法
5.5 設置合理的視角
5.6 捲繞和背面剪裁
5.6.1 基本知識
5.6.2 一個簡單的案例
5.7 本章小結

第6章 光照
6.1 曲面物體的構建
6.1.1 球體構建的基本原理
6.2.2 案例效果概覽
6.2.3 開發步驟
6.2 基本光照效果
6.2.1 光照的基本模型
6.2.2 環境光
6.2.3 散射光
6.2.4 鏡面光
6.2.5 三種光照通道的合成
6.3 定位光與定向光
6.4 點法向量和麵法向量
6.5 光照的每頂點計算與每片元計算
6.6 本章小結

第7章 紋理映射
7.1 初識紋理映射
7.1.1 基本原理
7.1.2 紋理映射的簡單案例
7.2 紋理拉伸
7.2.1 兩種拉伸方式概覽
7.2.2 不同拉伸方式的案例
7.3 紋理採樣
7.3.1 紋理採樣概述
7.3.2 最近點採樣
7.3.3 線性紋理採樣
7.3.4 MIN與MAG採樣
7.3.5 不同紋理採樣方式的案例
7.4 mipmap紋理技術
7.5 多重紋理與過程紋理
7.5.1 案例概覽
7.5.2 將2D紋理映射到球面上的策略
7.5.3 案例的場景結構
7.5.4 開發過程
7.6 本章小結

第8章 3D基本形狀的構建
8.1 圓柱體
8.1.1 頂點原始位置的生成
8.1.2 案例的開發
8.2 圓錐體
8.2.1 頂點原始位置的生成
8.2.2 案例的開發
8.3 圓環體
8.3.1 頂點原始位置的生成
8.3.2 案例的開發
8.4 螺旋管
8.4.1 頂點原始位置的生成
8.4.2 案例的開發
8.5 幾何球
8.5.1 頂點原始位置的生成
8.5.2 案例的開發
8.6 足球碳分子模型的搭建
8.6.1 搭建的基本原理
8.6.2 案例的開發
8.7 貝茲曲線及旋轉面
8.7.1 三維旋轉曲面的生成
8.7.2 貝茲曲線
8.7.3 Bezier曲線生成工具
8.7.4 印度古典建築場景的開發
8.8 本章小結

第9章 3D模型載入
9.1 obj模型檔概覽
9.1.1 obj檔的格式
9.1.2 用3DMax設計3D模型
9.2 載入obj檔
9.2.1 載入僅有頂點座標與面資料的obj檔
9.2.2 載入後自動計算面法向量
9.2.3 載入後自動計算平均法向量
9.2.4 載入紋理座標
9.3 本章小結

第10章 混合與霧
10.1 混合技術
10.1.1 混合基本知識
10.1.2 源因數和目標因數
10.1.3 簡單混合效果案例
10.2 地月系雲層效果的實現
10.3 霧
10.3.1 霧的原理與優勢
10.3.2 霧的簡單實現
10.4 本章小結

第11章 常用3D開發技巧
11.1 標誌板
11.1.1 案例效果與基本原理
11.1.2 開發步驟
11.2 灰度圖地形
11.2.1 基本原理
11.2.2 普通灰度圖地形
11.2.3 過程紋理地形
11.2.4 MipMap地形
11.3 天空盒與天空穹
11.3.1 天空盒
11.3.2 天空穹
11.3.3 天空盒與天空穹的使用技巧
11.4 鏡像技術
11.4.1 鏡像基本原理
11.4.2 基本效果案例
11.4.3 升級效果案例
11.5 動態文本輸出
11.5.1 案例效果與基本原理
11.5.2 具體開發步驟
11.6 非真實感繪製
11.6.1 案例效果與基本原理
11.6.2 具體開發步驟
11.7 本章小結

第12章 幾種剪裁與測試
12.1 剪裁測試
12.1.1 基本原理與核心代碼
12.1.2 一個主次視角的簡單案例
12.2 Alpha測試
12.2.1 Alpha測試基本原理
12.2.2 一個橢圓視窗的案例
12.3 範本測試
12.3.1 基本原理
12.3.2 一個簡單的案例
12.4 任意剪裁平面
12.4.1 基本原理
12.4.2 茶壺被任意平面剪裁的案例
12.5 本章小結

第13章 頂點著色器的妙用
13.1 飄揚的旗幟
13.1.1 基本原理
13.1.2 開發步驟
13.2 扭動的軟糖
13.2.1 基本原理
13.2.2 開發步驟
13.3 風吹椰林場景的開發
13.3.1 椰子樹隨風搖擺的基本原理
13.3.2 開發步驟
13.4 展翅飛翔的雄鷹
13.4.1 基本原理
13.4.2 開發步驟
13.5 二維扭曲
13.5.1 基本原理
13.5.2 開發步驟
13.6 OpenGL ES 1.x與OpenGL ES 2.0實現方案的對比
13.7 本章小結

第14章 片元著色器的妙用
14.1 程式紋理技術
14.1.1 磚塊著色器
14.1.2 沙灘球著色器
14.2 數字影像處理
14.2.1 卷積的基本知識
14.2.2 平滑過濾
14.2.3 邊緣檢測
14.2.4 銳化處理
14.2.5 浮雕效果
14.2.6 圖像漸變
14.3 分形著色器
14.3.1 曼德布羅集簡介
14.3.2 曼德布羅集著色器的實現
14.3.3 將曼德布羅集紋理應用到實際物體上
14.3.4 茱莉亞集著色器的實現
14.4 本章小結

第15章 真實光學環境的類比
15.1 投影貼圖
15.1.1 案例效果與基本原理
15.1.2 開發步驟
15.2 反射環境模擬
15.2.1 案例效果與基本原理
15.2.2 開發步驟
15.3 折射環境模擬
15.3.1 案例效果與基本原理
15.3.2 開發步驟
15.4 色散效果的模擬
15.4.1 案例效果與基本原理
15.4.2 開發步驟
15.5 菲涅爾效果的模擬
15.5.1 案例效果與基本原理
15.5.2 開發步驟
15.6 凹凸映射
15.6.1 案例效果與基本原理
15.6.2 法向量紋理圖的生成
15.6.3 案例的開發
15.7 平面陰影
15.7.1 案例效果與基本原理
15.7.2 開發步驟
15.8 陰影映射
15.8.1 案例效果與基本原理
15.8.2 距離紋理圖的生成
15.8.3 陰影場景的繪製
15.9 光線跟蹤
15.9.1 案例效果與基本原理
15.9.2 開發步驟
15.10 本章小結

第16章 遊戲開發中的物理學
16.1 碰撞檢測基本技術
16.1.1 AABB包圍盒的基本原理
16.1.2 AABB包圍盒的計算
16.1.3 AABB包圍盒的碰撞檢測
16.1.4 一個AABB包圍盒的案例
16.1.5 旋轉後的AABB包圍盒
16.1.6 AABB包圍盒的使用要點
16.1.7 OBB包圍盒
16.2 穿透效應
16.2.1 案例的運行效果與基本原理
16.2.2 具體開發步驟
16.3 粒子系統
16.3.1 案例運行效果與基本原理
16.3.2 CPU版案例的開發
16.3.3 GPU版案例開發步驟
16.4 彈簧質點模型
16.4.1 案例運行效果與基本原理
16.4.2 具體開發步驟
16.5 本章小結

第17章 遊戲的心臟--物理引擎
17.1 物理引擎很重要
17.1.1 什麼是物理引擎
17.1.2 常見的物理引擎
17.2 JBullet物理引擎
17.2.1 基本的物理學概念
17.2.2 JBullet中常用類的介紹
17.3 箱子相互碰撞的案例
17.3.1 案例運行效果及準備工作
17.3.2 案例的基本框架結構
17.3.3 常量類--Constant
17.3.4 3D場景渲染類--MySurfaceView
17.3.5 水準地面--TexFloor類
17.3.6 箱子--TexCube類
17.4 複合碰撞形狀的使用
17.4.1 案例運行效果
17.4.2 立方體圓柱複合形狀--CubeCylinder類
17.5 凹凸地形的案例
17.5.1 案例運行效果
17.5.2 地形類--LandForm
17.6 任意形狀物體的碰撞
17.6.1 案例運行效果
17.6.2 載入物體類--LoadedObjectVertexNormal
17.6.3 載入物體剛體類--LoadRigidBody
17.7 鉸鏈關節
17.7.1 鉸鏈關節的基本知識
17.7.2 案例的運行效果
17.7.3 鉸鏈關節旋轉角速度的計算
17.7.4 3D介面渲染類--MySurfaceView
17.8 滑動關節
17.8.1 滑動關節的基本知識
17.8.2 案例效果圖
17.8.3 3D介面渲染類--MySurfaceView
17.9 六自由度關節
17.9.1 六自由度關節的基本知識
17.9.2 案例的運行效果
17.9.3 人偶類--Doll
17.9.4 拾取時採用的點對點關節
17.10 本章小結

第18章 感測器應用的開發
18.1 基本的開發流程
18.2 加速度感測器
18.2.1 加速度感測器簡介
18.2.2 案例的開發
18.3 磁場感測器
18.3.1 磁場感測器簡介
18.3.2 案例的開發
18.4 光感測器
18.4.1 光感測器簡介
18.4.2 案例的開發
18.5 溫度感測器
18.5.1 溫度感測器簡介
18.5.2 案例的開發
18.6 接近感測器
18.6.1 接近感測器簡介
18.6.2 案例的開發
18.7 姿態感測器
18.7.1 姿態感測器簡介
18.7.2 案例的開發
18.8 本章小結

第19章 遊戲開發小貼士
19.1 3D拾取技術
19.1.1 案例效果與基本原理
19.1.2 開發步驟
19.2 多點觸控
19.2.1 案例效果與基本原理
19.2.2 開發步驟
19.3 多鍵監聽
19.3.1 案例效果與基本原理
19.3.2 開發步驟
19.4 本章小結

第20章 BN賽艇
20.1 遊戲背景及功能概述
20.1.1 背景概述
20.1.2 功能介紹
20.2 遊戲的策劃及準備工作
20.2.1 遊戲的策劃
20.2.2 Android平臺下遊戲的準備工作
20.3 遊戲的架構
20.3.1 各個類簡要介紹
20.3.2 遊戲框架簡介
20.4 主控制類MyActivity
20.5 2D介面相關類
20.5.1 歡迎介面類WelcomeView
20.5.2 2D介面父類MySFView
20.5.3 主菜單類MenuView
20.5.4 2D介面繪製類ViewForDraw
20.5.5 資料庫工具類DBUtil
20.5.6 Android系統版本對話方塊AndroidVersionDialog
20.6 選船介面相關類
20.6.1 著色器管理類ShaderManager
20.6.2 圍牆類ColorLightRect
20.6.3 選船房間類HouseForDraw
20.6.4 展臺類DisplayStation
20.6.5 賽艇類Boat
20.6.6 選船介面XCSurfaceView
20.7 遊戲介面相關類
20.7.1 進度條類Process
20.7.2 3D物體父類BNDrawer
20.7.3 3D物體控制類TDObjectForControl
20.7.4 賽艇類Boat
20.7.5 可碰撞物體父類KZBJDrawer
20.7.6 可碰撞物體控制類KZBJForControl
20.7.7 賽艇與可碰撞物體檢測碰撞執行緒ThreadColl
20.7.8 可吃物體父類SpeedForEat
20.7.9 可吃物體控制類SpeedForControl
20.7.10 晶體旋轉執行緒RotateThread
20.7.11 賽艇與晶體碰撞檢測執行緒ThreadForEat
20.7.12 比較兩灌木距離攝像機距離類MyComparable
20.7.13 單個灌木類SingleShrub
20.7.14 灌木控制類ShrubForControl
20.7.15 賽艇賽道類RaceTrack
20.7.16 賽艇與橋碰撞檢測類PZZ
20.7.17 賽艇運動路線工具類PathUtil
20.7.18 尾浪類WeiLang
20.7.19 水面類Water
20.7.20 遊戲介面類MyGLSurfaceView
20.7.21 運動監聽執行緒KeyThread
20.8 該遊戲中的著色器
20.9 遊戲的優化與改進

第21章 火力籃球
21.1 遊戲背景及功能概述
21.1.1 背景概述
21.1.2 功能介紹
21.2 遊戲的策劃及準備工作
21.2.1 遊戲的策劃
21.2.2 Android平臺下遊戲開發的準備工作
21.3 遊戲的架構
21.3.1 各個類簡要介紹
21.3.2 遊戲框架簡介
21.4 公共類BasketBall_Shot_Activity
21.5 輔助介面相關類
21.5.1 主功能表介面CaiDanView類
21.5.2 設置介面ShengyinKGJiemian類
21.5.3 關於介面GuanYuView類
21.5.4 記錄介面JiLuView類
21.5.5 資料庫相關類SQLiteUtil
21.6 遊戲介面相關類
21.6.1 遊戲介面繪製類GLGameView
21.6.2 著色器程式管理器類ShaderManager
21.6.3 添加剛體進物理世界類TianjiaBody
21.6.4 添加膠囊剛體進物理世界類JiaoNangTianjiaBody
21.6.5 籃球控制類BasketBallForDraw
21.6.6 紋理矩形繪製類WenLiJuXing
21.7 遊戲中著色器的開發
21.7.1 紋理的著色器
21.7.2 光照著色器
21.7.3 影子著色器
21.7.4 儀錶盤背景著色器
21.7.5 籃網著色器
21.8 遊戲的優化與改進

第22章 夜鷹行動
22.1 遊戲背景及功能概述
22.1.1 背景概述
22.1.2 功能介紹
22.2 遊戲的策劃及準備工作
22.2.1 遊戲的策劃
22.2.2 Android平臺下遊戲開發的準備工作
22.3 遊戲的架構
22.3.1 各個類的簡要介紹
22.3.2 遊戲框架簡介
22.4 公共類Aircraft_Activity
22.5 遊戲相關類
22.5.1 遊戲介面繪製類GLGameView
22.5.2 遊戲執行緒類KeyThread
22.5.3 子彈類BulletForControl
22.5.4 坦克類TanKe
22.5.5 山地繪製類LandForm
22.5.6 顏色圓面類CircleForDraw
22.5.7 星空類SkyNight
22.5.8 爆炸效果繪製類DrawBomb
22.5.9 數字繪製類NumberForDraw
22.6 該遊戲中的著色器
22.6 .1 載入介面著色器
22.6.2 地形著色器
22.6.3 按鈕著色器
22.6.4 星空著色器
22.6.5 生命值矩形著色器
22.6.6 顏色圓面著色器
22.7 遊戲的優化與改進


PDF | 68.5MB | UL/BU/HF


《Android 3D遊戲開發技術寶典:OpenGL ES 2.0》


下載點 : Hugefiles | Billionuploads | Uploaded
先下載留著,日後可能用的到 感謝分享
返回列表