Android 3D游戲開發(fā)技術(shù)寶典

出版時間:2012-5  出版社:人民郵電出版社  作者:吳亞峰  頁數(shù):749  
Tag標簽:無  

內(nèi)容概要

  隨著智能手機移動嵌入式平臺硬件性能的不斷提升,3D游戲應(yīng)用也逐漸普及開來?!禔ndroid
3D游戲開發(fā)技術(shù)寶典:OpenGL ES
2.0》結(jié)合作者多年從事3D游戲應(yīng)用開發(fā)的寶貴經(jīng)驗,全面介紹了與Android平臺相關(guān)的必知必會的基礎(chǔ)知識及大型完整3D案例,講解上由淺入深,循序漸進,起點低、終點高,既適合初學(xué)者學(xué)習(xí),也適合有一定基礎(chǔ)的讀者進一步提升之用。另外,由于OpenGL
ES 2.0的著色語言通用于各種移動嵌入式平臺,因此,《Android 3D游戲開發(fā)技術(shù)寶典:OpenGL ES
2.0》中與著色器開發(fā)相關(guān)的60%左右的內(nèi)容還可供iPhone、Windows
Mobile、MeeGoo等平臺的開發(fā)人員參考。
  全書共22章,其中第1章與第2章為Android平臺相關(guān)的一些基礎(chǔ)知識;第3章~第10章介紹了基于OpenGL ES
2.0進行3D應(yīng)用開發(fā)的一些必知必會的基本知識;第11章~第15章介紹了一些高級特效的實現(xiàn)方法;第16章~第17章介紹了3D游戲開發(fā)中相關(guān)的一些物理、碰撞檢測知識以及常用的3D物理引擎JBullet;第19章介紹了3種人機交互的高級技術(shù);第20章~第22章給出了3個完整的大型3D游戲案例,總代碼量接近6萬行。同時為了便于讀者的學(xué)習(xí),《Android
3D游戲開發(fā)技術(shù)寶典:OpenGL ES
2.0》附贈的光盤中包含了書中所有案例的完整源代碼,同時給出了最后3個完整大型3D游戲案例的講解視頻,最大限度地幫助讀者快速掌握相應(yīng)的開發(fā)技術(shù)。
  《Android 3D游戲開發(fā)技術(shù)寶典:OpenGL ES
2.0》適合Android程序員、游戲開發(fā)者及Android愛好者學(xué)習(xí),也可以作為相關(guān)培訓(xùn)學(xué)校和大專院校相關(guān)專業(yè)的教學(xué)用書。

作者簡介

吳亞峰,畢業(yè)于北京郵電大學(xué),后留學(xué)澳大利亞臥龍崗大學(xué)取得碩士學(xué)位。1998年開始從事Java應(yīng)用的開發(fā),有10多年的.1ava開發(fā)與培訓(xùn)經(jīng)驗。主要的研究方向為OpenGLES、手機游戲、Java EE以及搜索引擎。同時為手機游戲、Java EE獨立軟件開發(fā)工程師,并兼任百納科技Java培訓(xùn)中心首席培訓(xùn)師。近十年來為數(shù)十家著名企業(yè)培養(yǎng)了上千名高級軟件開發(fā)人員,曾編寫過《JavaSE 6.0編程指南》、《菜鳥成長之路——Java程序員職場全攻略》、《Android 2.0游戲開發(fā)實戰(zhàn)寶典》、《Android核心技術(shù)與實例詳解》、《Android應(yīng)用案例開發(fā)大全》、《Android游戲開發(fā)大全》、《Android應(yīng)用開發(fā)完全自學(xué)手冊——核心技術(shù)、傳感器、2D/3D、多媒體與典型案例》等多本暢銷技術(shù)書籍。2008年年初開始關(guān)注Android平臺下的應(yīng)用開發(fā),并開發(fā)出一系列優(yōu)秀的Android應(yīng)用程序與游戲。

書籍目錄

第1章 新一代的王者--Android概覽
1.1 智能手機市場現(xiàn)狀
1.1.1 五大智能手機操作系統(tǒng)
1.1.2 智能手機市場的新星
1.2 Android平臺的特點及未來的趨勢
1.2.1 全新理念帶來的體驗風暴
1.2.2 中國手機市場的主導(dǎo)性作用
1.2.3 手機3D游戲和應(yīng)用增長迅速
1.3 如何搭建Android開發(fā)環(huán)境
1.3.1 SDK的安裝及環(huán)境配置
1.3.2 Eclipse集成開發(fā)環(huán)境的搭建
1.3.3 創(chuàng)建并啟動模擬器
1.4 Hello Android應(yīng)用程序的開發(fā)
1.4.1 第一個Android應(yīng)用程序
1.4.2 Android應(yīng)用程序的項目結(jié)構(gòu)
1.4.3 Android應(yīng)用程序的調(diào)試
1.4.4 實際設(shè)備的聯(lián)機調(diào)試
1.5 Android應(yīng)用程序運行的機制
1.5.1 應(yīng)用程序的系統(tǒng)架構(gòu)
1.5.2 應(yīng)用程序框架
1.5.3 Android運行時
1.5.4 系統(tǒng)庫
1.5.5 底層Linux內(nèi)核
1.6 本章小結(jié)
第2章 游戲開發(fā)相關(guān)Android基礎(chǔ)知識
2.1 游戲中的音效
2.1.1 游戲中的即時音效
2.1.2 即時音效的一個案例
2.1.3 背景音樂播放技術(shù)
2.1.4 簡易音樂播放器的實現(xiàn)
2.2 簡單數(shù)據(jù)的存儲--Preferences
2.2.1 Preferences簡介
2.2.2 Preferences實現(xiàn)訪問時間的記錄
2.3 手機自帶數(shù)據(jù)庫--SQLite
2.3.1 初識SQLite
2.3.2 SQLite數(shù)據(jù)庫的基本操作
2.3.3 SQLite數(shù)據(jù)庫的簡單案例
2.3.4 使用ContentProvider組件共享數(shù)據(jù)
2.3.5 使用ContentResolver獲取分享數(shù)據(jù)
2.4 文件I/O
2.4.1 訪問SD卡中的文件
2.4.2 訪問手機中的文件夾
2.4.3 讀取assets文件夾下的內(nèi)容
2.5 2D動畫的開發(fā)
2.5.1 SurfaceView用法簡介
2.5.2 使用SurfaceView實現(xiàn)2D動畫
2.6 Socket網(wǎng)絡(luò)通信
2.6.1 Socket開發(fā)基本知識
2.6.2 服務(wù)器端
2.6.3 客戶端
2.7 藍牙通信
2.7.1 藍牙通信的基本知識
2.7.2 聊天案例概覽
2.7.3 聊天案例的開發(fā)過程
2.8 本章小結(jié)
第3章 初識OpenGL ES 2.
3.1 OpenGL ES 2.0概覽
3.1.1 OpenGL ES 2.0簡介
3.1.2 初識OpenGL ES 2.0應(yīng)用程序
3.2 著色器與渲染管線
3.2.1 OpenGL ES 1.x的渲染管線
3.2.2 OpenGL ES 2.0的渲染管線
3.2.3 OpenGL ES中立體物體的構(gòu)建
3.3 主流Android手機GPU大PK
3.3.1 手機GPU四大家族對比
3.3.2 主流GPU的性能參數(shù)比較
3.4 本章小結(jié)
第4章 著色語言Shading Language
4.1 著色語言概述
4.2 著色語言基礎(chǔ)
4.2.1 數(shù)據(jù)類型概述
4.2.2 數(shù)據(jù)類型的基本使用
4.2.3 運算符
4.2.4 類型轉(zhuǎn)換
4.2.5 限定符
4.2.6 流程控制
4.2.7 函數(shù)的聲明與使用
4.2.8 片元著色器中浮點變量精度的指定
4.2.9 程序的基本結(jié)構(gòu)
4.3 特殊的內(nèi)建變量
4.3.1 頂點著色器中的內(nèi)建變量
4.3.2 片元著色器中的內(nèi)建變量
4.4 著色語言的內(nèi)置函數(shù)
4.4.1 角度轉(zhuǎn)換與三角函數(shù)
4.4.2 指數(shù)函數(shù)
4.4.3 常見函數(shù)
4.4.4 幾何函數(shù)
4.4.5 矩陣函數(shù)
4.4.6 向量關(guān)系函數(shù)
4.4.7 紋理采樣函數(shù)
4.4.8 微分函數(shù)
4.5 本章小結(jié)
第5章 投影及各種變換
5.1 攝像機的設(shè)置
5.2 兩種投影方式
5.2.1 正交投影
5.2.2 透視投影
5.3 各種變換
5.3.1 基本變換的相關(guān)數(shù)學(xué)知識
5.3.2 平移變換
5.3.3 旋轉(zhuǎn)變換
5.3.4 縮放變換
5.3.5 基本變換的實質(zhì)
5.4 繪制方式
5.4.1 各種繪制方式概覽
5.4.2 點與線段繪制方式
5.4.3 三角形條帶與扇面繪制方式
5.4.4 頂點法與索引法
5.5 設(shè)置合理的視角
5.6 卷繞和背面剪裁
5.6.1 基本知識
5.6.2 一個簡單的案例
5.7 本章小結(jié)
第6章 光照
6.1 曲面物體的構(gòu)建
6.1.1 球體構(gòu)建的基本原理
6.2.2 案例效果概覽
6.2.3 開發(fā)步驟
6.2 基本光照效果
6.2.1 光照的基本模型
6.2.2 環(huán)境光
6.2.3 散射光
6.2.4 鏡面光
6.2.5 三種光照通道的合成
6.3 定位光與定向光
6.4 點法向量和面法向量
6.5 光照的每頂點計算與每片元計算
6.6 本章小結(jié)
第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紋理技術(shù)
7.5 多重紋理與過程紋理
7.5.1 案例概覽
7.5.2 將2D紋理映射到球面上的策略
7.5.3 案例的場景結(jié)構(gòu)
7.5.4 開發(fā)過程
7.6 本章小結(jié)
第8章 3D基本形狀的構(gòu)建
8.1 圓柱體
8.1.1 頂點原始位置的生成
8.1.2 案例的開發(fā)
8.2 圓錐體
8.2.1 頂點原始位置的生成
8.2.2 案例的開發(fā)
8.3 圓環(huán)體
8.3.1 頂點原始位置的生成
8.3.2 案例的開發(fā)
8.4 螺旋管
8.4.1 頂點原始位置的生成
8.4.2 案例的開發(fā)
8.5 幾何球
8.5.1 頂點原始位置的生成
8.5.2 案例的開發(fā)
8.6 足球碳分子模型的搭建
8.6.1 搭建的基本原理
8.6.2 案例的開發(fā)
8.7 貝塞爾曲線及旋轉(zhuǎn)面
8.7.1 三維旋轉(zhuǎn)曲面的生成
8.7.2 貝塞爾曲線
8.7.3 Bezier曲線生成工具
8.7.4 印度古典建筑場景的開發(fā)
8.8 本章小結(jié)
第9章 3D模型加載
9.1 obj模型文件概覽
9.1.1 obj文件的格式
9.1.2 用3DMax設(shè)計3D模型
9.2 加載obj文件
9.2.1 加載僅有頂點坐標與面數(shù)據(jù)的obj文件
9.2.2 加載后自動計算面法向量
9.2.3 加載后自動計算平均法向量
9.2.4 加載紋理坐標
9.3 本章小結(jié)
第10章 混合與霧
10.1 混合技術(shù)
10.1.1 混合基本知識
10.1.2 源因子和目標因子
10.1.3 簡單混合效果案例
10.2 地月系云層效果的實現(xiàn)
10.3 霧
10.3.1 霧的原理與優(yōu)勢
10.3.2 霧的簡單實現(xiàn)
10.4 本章小結(jié)
第11章 常用3D開發(fā)技巧
11.1 標志板
11.1.1 案例效果與基本原理
11.1.2 開發(fā)步驟
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 鏡像技術(shù)
11.4.1 鏡像基本原理
11.4.2 基本效果案例
11.4.3 升級效果案例
11.5 動態(tài)文本輸出
11.5.1 案例效果與基本原理
11.5.2 具體開發(fā)步驟
11.6 非真實感繪制
11.6.1 案例效果與基本原理
11.6.2 具體開發(fā)步驟
11.7 本章小結(jié)
第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 本章小結(jié)
第13章 頂點著色器的妙用
13.1 飄揚的旗幟
13.1.1 基本原理
13.1.2 開發(fā)步驟
13.2 扭動的軟糖
13.2.1 基本原理
13.2.2 開發(fā)步驟
13.3 風吹椰林場景的開發(fā)
13.3.1 椰子樹隨風搖擺的基本原理
13.3.2 開發(fā)步驟
13.4 展翅飛翔的雄鷹
13.4.1 基本原理
13.4.2 開發(fā)步驟
13.5 二維扭曲
13.5.1 基本原理
13.5.2 開發(fā)步驟
13.6 OpenGL ES 1.x與OpenGL ES 2.0實現(xiàn)方案的對比
13.7 本章小結(jié)
第14章 片元著色器的妙用
14.1 程序紋理技術(shù)
14.1.1 磚塊著色器
14.1.2 沙灘球著色器
14.2 數(shù)字圖像處理
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 曼德布羅集著色器的實現(xiàn)
14.3.3 將曼德布羅集紋理應(yīng)用到實際物體上
14.3.4 茱莉亞集著色器的實現(xiàn)
14.4 本章小結(jié)
第15章 真實光學(xué)環(huán)境的模擬
15.1 投影貼圖
15.1.1 案例效果與基本原理
15.1.2 開發(fā)步驟
15.2 反射環(huán)境模擬
15.2.1 案例效果與基本原理
15.2.2 開發(fā)步驟
15.3 折射環(huán)境模擬
15.3.1 案例效果與基本原理
15.3.2 開發(fā)步驟
15.4 色散效果的模擬
15.4.1 案例效果與基本原理
15.4.2 開發(fā)步驟
15.5 菲涅爾效果的模擬
15.5.1 案例效果與基本原理
15.5.2 開發(fā)步驟
15.6 凹凸映射
15.6.1 案例效果與基本原理
15.6.2 法向量紋理圖的生成
15.6.3 案例的開發(fā)
15.7 平面陰影
15.7.1 案例效果與基本原理
15.7.2 開發(fā)步驟
15.8 陰影映射
15.8.1 案例效果與基本原理
15.8.2 距離紋理圖的生成
15.8.3 陰影場景的繪制
15.9 光線跟蹤
15.9.1 案例效果與基本原理
15.9.2 開發(fā)步驟
15.10 本章小結(jié)
第16章 游戲開發(fā)中的物理學(xué)
16.1 碰撞檢測基本技術(shù)
16.1.1 AABB包圍盒的基本原理
16.1.2 AABB包圍盒的計算
16.1.3 AABB包圍盒的碰撞檢測
16.1.4 一個AABB包圍盒的案例
16.1.5 旋轉(zhuǎn)后的AABB包圍盒
16.1.6 AABB包圍盒的使用要點
16.1.7 OBB包圍盒
16.2 穿透效應(yīng)
16.2.1 案例的運行效果與基本原理
16.2.2 具體開發(fā)步驟
16.3 粒子系統(tǒng)
16.3.1 案例運行效果與基本原理
16.3.2 CPU版案例的開發(fā)
16.3.3 GPU版案例開發(fā)步驟
16.4 彈簧質(zhì)點模型
16.4.1 案例運行效果與基本原理
16.4.2 具體開發(fā)步驟
16.5 本章小結(jié)
第17章 游戲的心臟--物理引擎
17.1 物理引擎很重要
17.1.1 什么是物理引擎
17.1.2 常見的物理引擎
17.2 JBullet物理引擎
17.2.1 基本的物理學(xué)概念
17.2.2 JBullet中常用類的介紹
17.3 箱子相互碰撞的案例
17.3.1 案例運行效果及準備工作
17.3.2 案例的基本框架結(jié)構(gòu)
17.3.3 常量類--Constant
17.3.4 3D場景渲染類--MySurfaceView
17.3.5 水平地面--TexFloor類
17.3.6 箱子--TexCube類
17.4 復(fù)合碰撞形狀的使用
17.4.1 案例運行效果
17.4.2 立方體圓柱復(fù)合形狀--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 鉸鏈關(guān)節(jié)
17.7.1 鉸鏈關(guān)節(jié)的基本知識
17.7.2 案例的運行效果
17.7.3 鉸鏈關(guān)節(jié)旋轉(zhuǎn)角速度的計算
17.7.4 3D界面渲染類--MySurfaceView
17.8 滑動關(guān)節(jié)
17.8.1 滑動關(guān)節(jié)的基本知識
17.8.2 案例效果圖
17.8.3 3D界面渲染類--MySurfaceView
17.9 六自由度關(guān)節(jié)
17.9.1 六自由度關(guān)節(jié)的基本知識
17.9.2 案例的運行效果
17.9.3 人偶類--Doll
17.9.4 拾取時采用的點對點關(guān)節(jié)
17.10 本章小結(jié)
第18章 傳感器應(yīng)用的開發(fā)
18.1 基本的開發(fā)流程
18.2 加速度傳感器
18.2.1 加速度傳感器簡介
18.2.2 案例的開發(fā)
18.3 磁場傳感器
18.3.1 磁場傳感器簡介
18.3.2 案例的開發(fā)
18.4 光傳感器
18.4.1 光傳感器簡介
18.4.2 案例的開發(fā)
18.5 溫度傳感器
18.5.1 溫度傳感器簡介
18.5.2 案例的開發(fā)
18.6 接近傳感器
18.6.1 接近傳感器簡介
18.6.2 案例的開發(fā)
18.7 姿態(tài)傳感器
18.7.1 姿態(tài)傳感器簡介
18.7.2 案例的開發(fā)
18.8 本章小結(jié)
第19章 游戲開發(fā)小貼士
19.1 3D拾取技術(shù)
19.1.1 案例效果與基本原理
19.1.2 開發(fā)步驟
19.2 多點觸控
19.2.1 案例效果與基本原理
19.2.2 開發(fā)步驟
19.3 多鍵監(jiān)聽
19.3.1 案例效果與基本原理
19.3.2 開發(fā)步驟
19.4 本章小結(jié)
第20章 BN賽艇
20.1 游戲背景及功能概述
20.1.1 背景概述
20.1.2 功能介紹
20.2 游戲的策劃及準備工作
20.2.1 游戲的策劃
20.2.2 Android平臺下游戲的準備工作
20.3 游戲的架構(gòu)
20.3.1 各個類簡要介紹
20.3.2 游戲框架簡介
20.4 主控制類MyActivity
20.5 2D界面相關(guān)類
20.5.1 歡迎界面類WelcomeView
20.5.2 2D界面父類MySFView
20.5.3 主菜單類MenuView
20.5.4 2D界面繪制類ViewForDraw
20.5.5 數(shù)據(jù)庫工具類DBUtil
20.5.6 Android系統(tǒng)版本對話框AndroidVersionDialog
20.6 選船界面相關(guān)類
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 游戲界面相關(guān)類
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 晶體旋轉(zhuǎn)線程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 運動監(jiān)聽線程KeyThread
20.8 該游戲中的著色器
20.9 游戲的優(yōu)化與改進
第21章 火力籃球
21.1 游戲背景及功能概述
21.1.1 背景概述
21.1.2 功能介紹
21.2 游戲的策劃及準備工作
21.2.1 游戲的策劃
21.2.2 Android平臺下游戲開發(fā)的準備工作
21.3 游戲的架構(gòu)
21.3.1 各個類簡要介紹
21.3.2 游戲框架簡介
21.4 公共類BasketBall_Shot_Activity
21.5 輔助界面相關(guān)類
21.5.1 主菜單界面CaiDanView類
21.5.2 設(shè)置界面ShengyinKGJiemian類
21.5.3 關(guān)于界面GuanYuView類
21.5.4 記錄界面JiLuView類
21.5.5 數(shù)據(jù)庫相關(guān)類SQLiteUtil
21.6 游戲界面相關(guān)類
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 游戲中著色器的開發(fā)
21.7.1 紋理的著色器
21.7.2 光照著色器
21.7.3 影子著色器
21.7.4 儀表盤背景著色器
21.7.5 籃網(wǎng)著色器
21.8 游戲的優(yōu)化與改進
第22章 夜鷹行動
22.1 游戲背景及功能概述
22.1.1 背景概述
22.1.2 功能介紹
22.2 游戲的策劃及準備工作
22.2.1 游戲的策劃
22.2.2 Android平臺下游戲開發(fā)的準備工作
22.3 游戲的架構(gòu)
22.3.1 各個類的簡要介紹
22.3.2 游戲框架簡介
22.4 公共類Aircraft_Activity
22.5 游戲相關(guān)類
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 數(shù)字繪制類NumberForDraw
22.6 該游戲中的著色器
22.6 .1 加載界面著色器
22.6.2 地形著色器
22.6.3 按鈕著色器
22.6.4 星空著色器
22.6.5 生命值矩形著色器
22.6.6 顏色圓面著色器
22.7 游戲的優(yōu)化與改進

章節(jié)摘錄

版權(quán)頁:   插圖:   由于當下可編程圖形硬件占圖形硬件市場的份額越來越大,3D開發(fā)人員應(yīng)該具備使用可編程圖形硬件的能力,而各種可編程圖形硬件一般都是提供著色器供開發(fā)人員使用的,因此學(xué)習(xí)著色語言是開發(fā)3D游戲的重中之重。 由于Android平臺下的可編程圖形硬件支持的是OpenGL ES2.0標準,因此,本章將向讀者介_降OpenGL ES著色語言。OpenGL ES著色語言是基于OpenGL ES2.0平臺研發(fā)的,基本可以看做是PC和工作站上OpenGL著色語言的子集,包含了OpenGL著色語言的大部分功能。 OpenGL ES著色語言是一種高級的圖形編程語言,其源自應(yīng)用廣泛的C語言,同時具有RenderMan以及其他著色語言的一些優(yōu)良特性,易于被開發(fā)人員掌握。 與傳統(tǒng)通用編程語言有很大不同的是,其提供了更加豐富的原生類型,如向量、矩陣等。這些新特性的加入使得OpenGL ES著色語言在處理3D圖形方面更加高效、易用。簡單來說,OpenGL ES著色語言主要包括以下特性。 ?OpenGL ES著色語言是一種高級的過程語言(注意,不是面向?qū)ο螅??對頂點著色器、片元著色器使用的是同樣的語言,不做區(qū)分。 ?基于C/C++的語法及流程控制。 ?完美支持向量與矩陣的各種操作。 ?通過類型限定符來管理輸入與輸出。 ?擁有大量的內(nèi)置函數(shù)來提供豐富的功能。 總之,OpenGL ES著色語言是一種易于實現(xiàn)、功能強大、便于使用、完美支持硬件靈活性,且可以高度并行處理、性能優(yōu)良的高級圖形編程語言。其可以幫助開發(fā)人員在不浪費大量時間的情況下,輕松地為用戶帶來更完美的視覺體驗,開發(fā)出更加酷炫的3D場景與特效。 對于3D游戲開發(fā)人員來說,掌握這門語言尤為重要。本章的后繼內(nèi)容將從多個方面介紹OpenGL ES著色語言的基本知識,使得讀者初步了解著色語言,為以后深入地學(xué)習(xí)打下堅實的基礎(chǔ)。

編輯推薦

《Android 3D游戲開發(fā)技術(shù)寶典:OpenGL ES 2.0》適合Android程序員、游戲開發(fā)者及Android愛好者學(xué)習(xí),也可以作為相關(guān)培訓(xùn)學(xué)校和大專院校相關(guān)專業(yè)的教學(xué)用書?!禔ndroid 3D游戲開發(fā)技術(shù)寶典:OpenGL ES 2.0》組織上本著“起點低,終點高”的原則,內(nèi)容覆蓋了從學(xué)習(xí)OpenGL ES 2.0必知必會的基礎(chǔ)知識到基于OpenGL ES 2.0實現(xiàn)高級特效,最后還給出了3個完整的大型3D游戲案例。這3個案例均是筆者帶領(lǐng)學(xué)員參加谷歌(Google)2011第二屆Android應(yīng)用開發(fā)中國大學(xué)生挑戰(zhàn)賽的獲獎作品,第22章的夜鷹行動更是獲全國總決賽前5名大獎的作品?!禔ndroid 3D游戲開發(fā)技術(shù)寶典:OpenGL ES 2.0》中配合每個需要講解的知識點都給出了豐富的插圖與完整的案例,使得初學(xué)者易于上手,有一定基礎(chǔ)的讀者便于深入。書中所有的案例均是根據(jù)筆者多年的開發(fā)心得進行設(shè)計的,結(jié)構(gòu)清晰明朗,便于讀者進行學(xué)習(xí)。同時書中還給出了很多筆者多年來積累的編程技巧與心得,具有很高的參考價值。

圖書封面

圖書標簽Tags

評論、評分、閱讀與下載


    Android 3D游戲開發(fā)技術(shù)寶典 PDF格式下載


用戶評論 (總計60條)

 
 

  •   對android游戲的開發(fā)進行詳細的介紹,對于OpenGL ES2.0的技術(shù)進行了介紹,介紹了游戲開發(fā)的設(shè)計思路,介紹了2011年Google Android大賽的獲獎作品的開發(fā)與實現(xiàn)。
  •   非常適合Android OpenGL ES 快速入門
  •   寫的很容易閱讀,比較詳細,很容易上手入門,是一本不錯的opengl es開發(fā)的書籍
  •   結(jié)合opengl一起,開發(fā)的3d游戲,內(nèi)容挺不錯的,涵蓋面蠻廣!
  •   這本書講解還不錯,內(nèi)容很詳細,里面關(guān)于OpenGL的技術(shù)還是很好地,值得推薦
  •   講的很詳細,但是不適合剛接觸android編程的初學(xué)者
  •   解鎖詳細 方向是偏android 當然也介紹了部分ios的 挺不錯的
  •   我是做應(yīng)用的,買著本書,主要是學(xué)習(xí)一下里面的OpenGL??蠢锩娴膬?nèi)容很強大,應(yīng)該幫助很大
  •   買了在研讀,挺不錯的,很適合初學(xué)者入門,很多知識面都有點到。
    對于ES2入門的人,可以考慮。
  •   不錯的書。opengl介紹的詳細
  •   對于3D游戲開發(fā)提高很大的一本書!
  •   本書系統(tǒng)介紹了OpenGLES2.0對此0基礎(chǔ)的初學(xué)者來說,相當好
  •   大概看了一下整體感覺不錯,不過好像主要是從案例代碼來講解,個人還是喜歡理論的多一點~
  •   內(nèi)容很詳細,適合零基礎(chǔ)入門
  •   內(nèi)容講的詳細,正在學(xué)習(xí)中,喜歡
  •   作者寫的非常好,內(nèi)容非常詳細,是學(xué)習(xí)3d的好幫手
  •   今天到的 已經(jīng)開始用了,輸不錯,很厚,紙張也還行,內(nèi)容很詳細,不錯的書!
  •   才拿到書,而且是初學(xué)者,所以不好評價,后續(xù)在來做評價。有一點缺憾:紙質(zhì)單薄了些,沒有紅寶書的好,作為藏書的話,恐怕不大可能。
  •   很不錯,內(nèi)容全面,詳細!
  •   額,還在研究中.......
  •   這書是OPENGLES方面比較經(jīng)典的書,支持一個!
  •   很好的書,講OpenGLES2.0很好。
  •   內(nèi)容很好 就是價格有點貴
  •   在當當買書籍還是非常放心的~
  •   看了會,還不錯!挺滿意的!
  •   送貨服務(wù)很好 看著不錯挺厚
  •   還沒讀,希望不錯吧
  •   還沒來得及看但這么快收到還是很滿意的
  •   dssdsdds
  •   難啊...
  •   還沒看呢,希望是我要的
  •   同學(xué)推薦這本書,看了看,還不錯~~
  •   我只想說買了就后悔了。。真尼瑪厚。。
  •   這是一本有關(guān)OpenGL ES的書,期待它會帶來幫助,好好學(xué)習(xí)OpenGL ES 。。。。
  •   全是例子程序。概念性的比較少。例子可以直接拿來使用。對增強基本功不利,需要結(jié)合一些理論的書來看。我在工作中,就發(fā)現(xiàn)例子代碼可以直接拷貝過來使用。效果很不錯。
  •   再郵寄的過程中光盤弄壞了 能補寄么? 或者給我發(fā)郵件也行
  •   不可多得的專門介紹OpenglES的好書
  •   講的不清楚,不過代碼有參考價值
  •   書的內(nèi)容適應(yīng)初學(xué)者之用,還可以。
  •   很好的書,值得學(xué)習(xí)和深入研究
  •   沒有基礎(chǔ)的建議不要買
  •   沒有仔細看,看了下目錄,感覺章節(jié)內(nèi)容安排比較合理,認真看應(yīng)該很有幫助
  •   先從網(wǎng)上找了個電子版的書,大概看了下目錄,感覺內(nèi)容還不錯,就買了本書,正準備看
  •   環(huán)境架構(gòu)起來和運用起來均比較復(fù)雜,誰要半價轉(zhuǎn)了,書是新的,未寫一個字,大概也就翻了不到20面
  •   正在看,挺不錯的,值得擁有!
  •   好。滿意。
  •   不錯,學(xué)opengles的經(jīng)典
  •   得耐心
  •   還沒送的就降價,不給補差,不爽,簡直就是價格欺詐。算了還是不要上綱上線了,
  •   失望!我以為瀏覽一遍會對OpenGL ES2.0有個大概的了解,沒想到,這書被代碼淹沒了。如果認真把這本書看完,得砸多少時間進去啊,想想都怕,虧大發(fā)了。作者的能力咱不敢亂評價,不過國人寫的書,真心不敢買。
  •   發(fā)現(xiàn)書中代碼不完整,都是省略號呀,還得看光盤,感覺麻煩。
  •   都是代碼·················內(nèi)容很少
  •   正在讀,還行吧
  •   原理不夠透徹
  •   光盤不可用,搞得沒辦法了
  •   看的我一頭霧水
  •   代碼的堆砌
  •   好東西好東西好東西。
  •   好書,當天就用上了
  •   很不錯 質(zhì)感不錯
 

250萬本中文圖書簡介、評論、評分,PDF格式免費下載。 第一圖書網(wǎng) 手機版

京ICP備13047387號-7