-
>
全國計算機等級考試最新真考題庫模擬考場及詳解·二級MSOffice高級應(yīng)用
-
>
決戰(zhàn)行測5000題(言語理解與表達)
-
>
軟件性能測試.分析與調(diào)優(yōu)實踐之路
-
>
第一行代碼Android
-
>
JAVA持續(xù)交付
-
>
EXCEL最強教科書(完全版)(全彩印刷)
-
>
深度學(xué)習(xí)
H5和WebGL 3D開發(fā)實戰(zhàn)詳解 版權(quán)信息
- ISBN:9787115441010
- 條形碼:9787115441010 ; 978-7-115-44101-0
- 裝幀:一般膠版紙
- 冊數(shù):暫無
- 重量:暫無
- 所屬分類:>>
H5和WebGL 3D開發(fā)實戰(zhàn)詳解 本書特色
本書共分為14章,由淺入深地進行講解,主要內(nèi)容包括:開發(fā)基礎(chǔ)部分,介紹了初識WebGL,實現(xiàn)WebGL可編程渲染管線著色器的著色語言,投影及各種變換;光照效果部分,介紹了WebGL中光照的基本原理與實現(xiàn)、點法向量與面法向量的區(qū)別以及光照的每頂點計算與每片元計算的差別;紋理映射部分,介紹了紋理映射的基本原理與使用,同時還介紹了不同的紋理拉伸與采樣方式、多重過程紋理技術(shù)以及壓縮紋理;3D模型加載部分,介紹了如何使用自定義的加載工具類直接加載使用3ds Max創(chuàng)建的3D立體物體;混合與霧部分,主要介紹了混合以及霧的基本原理與使用;標志板、天空盒部分,主要介紹了一些常見的3D開發(fā)技巧,包括標志板、天空盒與天空穹、鏡像技術(shù)等;Three.js引擎部分,主要介紹了對WebGL封裝比較好的Three.js引擎,包括創(chuàng)建場景、攝像機、基本形狀物體、加載模型,以及一些較高級的內(nèi)容;Egret 3D游戲引擎應(yīng)用開發(fā)部分,介紹Egret 3D在3D游戲開發(fā)中的功能;Ammo物理引擎部分,介紹Ammo物理引擎的剛體、軟體等創(chuàng)建與使用;綜合案例—《極地大作戰(zhàn)》部分,通過一個具體的游戲向讀者較為全面地介紹了游戲項目的開發(fā)流程以及運用各種技術(shù)解決具體問題的思路,案例中綜合運用了前面章節(jié)中講解的知識,讓讀者盡快進入實戰(zhàn)角色。
H5和WebGL 3D開發(fā)實戰(zhàn)詳解 內(nèi)容簡介
第1本介紹H5和WebgL 3D開發(fā)的書 主要內(nèi)容包括:HTML 5開發(fā)基礎(chǔ),初識WebGL,實現(xiàn)WebGL可編程渲染管線著色器的著色語言進行了系統(tǒng)地介紹,投影及各種變換,介紹了3D開發(fā)中投影、各種變換的原理與實現(xiàn),同時還介紹了幾種不同的繪制方式;光照效果,介紹了WebGL中光照的基本原理與實現(xiàn)、點法向量與面法向量的區(qū)別以及光照的每頂點計算與每片元計算的差別;紋理映射,介紹了紋理映射的基本原理與使用,同時還介紹了不同的紋理拉伸與采樣方式、多重過程紋理技術(shù)以及壓縮紋理;3D模型加載,介紹了如何使用自定義的加載工具類直接加載使用3ds Max創(chuàng)建的3D立體物體;混合與霧,主要介紹了混合以及霧的基本原理與使用;標志板、天空盒等,主要介紹了一些常見的3D開發(fā)技巧,包括標志板、天空盒與天空穹、鏡像技術(shù)等;Three.js引擎,主要介紹了對WebGL封裝比較好的Three.js引擎,包括了創(chuàng)建場景、攝像機、基本形狀物體、加載模型等等以及一些較高級的內(nèi)容;Egret3D游戲引擎應(yīng)用開發(fā),介紹Egret3D在3D游戲開發(fā)中的比較全面功能;Ammo物理引擎,介紹Ammo物理引擎的剛體、軟體等創(chuàng)建與使用; 綜合案例——極地大作戰(zhàn),通過一個具體的游戲向讀者較為全面的介紹了游戲項目的開發(fā)流程以及運用各種技術(shù)解決具體問題的思路。案例中綜合運用了前面多章的知識,適合在學(xué)習(xí)完本書前面所有介紹具體技術(shù)的章節(jié)后學(xué)習(xí)。
H5和WebGL 3D開發(fā)實戰(zhàn)詳解 目錄
WebGL 世界的**道坎 1
1.1 HTML的發(fā)展簡史 1
1.1.1 HTML的由來 1
1.1.2 HTML的歷史 1
1.2 HTML5概述 2
1.2.1 HTML5的新標準 2
1.2.2 HTML5引入的新特性 2
1.2.3 HTML5現(xiàn)狀 3
1.3 初識HTML5 4
1.3.1 HTML5標簽簡介 4
1.3.2 基礎(chǔ)標簽 4
1.3.3 格式標簽 5
1.3.4 表單標簽 10
1.3.5 圖像、鏈接、列表標簽 17
1.3.6 表格、元信息等標簽 20
1.3.7 HTML5中的全局屬性 26
1.3.8 HTML5中的事件 29
1.4 初識CSS 31
1.4.1 CSS簡介 31
1.4.2 CSS基礎(chǔ)語法 32
1.4.3 如何插入樣式表 33
1.4.4 使用CSS樣式 33
1.5 初識JavaScript 40
1.5.1 JavaScript的名字和
版本 41
1.5.2 準備使用JavaScript 41
1.5.3 使用語句 41
1.5.4 使用變量和類型 42
1.5.5 JavaScript運算符 43
1.5.6 使用數(shù)組 44
1.5.7 創(chuàng)建自己的JavaScript
對象 45
1.5.8 常用的JavaScript工具 47
1.6 HTML5 Canvas概述 47
1.6.1 文檔對象模型(DOM)和Canvas 48
1.6.2 JavaScript與Canvas 48
1.6.3 HTML5 Canvas版“Hello World” 48
1.6.4 Canvas上的基礎(chǔ)圖形 50
1.7 本章小結(jié) 51
1.8 習(xí)題 52
第2章 初識WebGL 53
2.1 WebGL概述 53
2.1.1 WebGL簡介 53
2.1.2 WebGL效果展示 54
2.2 初識WebGL應(yīng)用 54
2.2.1 WebGL應(yīng)用案例部署運行
步驟簡介 55
2.2.2 初識WebGL應(yīng)用程序 56
2.3 著色器與渲染管線 61
2.3.1 WebGL的渲染管線 61
2.3.2 WebGL中立體物體的
構(gòu)建 66
2.4 本章小結(jié) 68
2.5 習(xí)題 68
第3章 著色語言 69
3.1 著色語言概述 69
3.2 著色語言基礎(chǔ) 70
3.2.1 數(shù)據(jù)類型簡介 70
3.2.2 數(shù)據(jù)類型的基本使用 73
3.2.3 運算符 74
3.2.4 類型轉(zhuǎn)換 76
3.2.5 限定符 77
3.2.6 流程控制 79
3.2.7 函數(shù)的聲明與使用 81
3.2.8 片元著色器中浮點變量精度
的指定 82
3.2.9 程序的基本結(jié)構(gòu) 82
3.3 特殊的內(nèi)建變量 83
3.3.1 頂點著色器中的內(nèi)建變量 83
3.3.2 片元著色器中的內(nèi)建變量 83
3.4 著色語言的內(nèi)置函數(shù) 84
3.4.1 角度轉(zhuǎn)換與三角函數(shù) 85
3.4.2 指數(shù)函數(shù) 86
3.4.3 常見函數(shù) 86
3.4.4 紋理采樣函數(shù) 88
3.5 本章小結(jié) 89
3.6 習(xí)題 89
第4章 必知必會的3D開發(fā)知識—
投影及各種變換 91
4.1 矩陣數(shù)學(xué)計算工具腳本Matrix 91
4.2 攝像機的設(shè)置 92
4.3 兩種投影方式 93
4.3.1 正交投影 93
4.3.2 透視投影 97
4.4 各種變換 100
4.4.1 基本變換的相關(guān)數(shù)學(xué)
知識 100
4.4.2 平移變換 100
4.4.3 旋轉(zhuǎn)變換 102
4.4.4 縮放變換 103
4.4.5 基本變換的實質(zhì) 105
4.5 所有變換的完整流程 106
4.6 繪制方式 109
4.6.1 各種繪制方式概覽 109
4.6.2 點與線段繪制方式 110
4.6.3 三角形條帶與扇面繪制
方式 112
4.7 設(shè)置合理的視角 116
4.8 卷繞和背面剪裁 120
4.8.1 基本知識 121
4.8.2 一個簡單的案例 121
4.9 本章小結(jié) 123
4.10 習(xí)題 123
第5章 光照效果 125
5.1 曲面物體的構(gòu)建 125
5.1.1 球體的構(gòu)建原理 125
5.1.2 案例效果概覽 126
5.1.3 具體開發(fā)步驟 126
5.2 基本光照效果 129
5.2.1 構(gòu)建球體的原理 129
5.2.2 環(huán)境光 129
5.2.3 散射光 131
5.2.4 鏡面光 135
5.2.5 三種光照通道的合成 138
5.3 定位光與定向光 140
5.4 點法向量和面法向量 142
5.5 光照的每頂點計算與每片元
計算 144
5.6 本章小結(jié) 146
5.7 習(xí)題 146
第6章 紋理映射 147
6.1 初識紋理映射 147
6.1.1 基本原理 147
6.1.2 一個簡單的案例 148
6.2 紋理拉伸 153
6.2.1 兩種拉伸方式概覽 153
6.2.2 不同拉伸方式的案例 154
6.3 紋理采樣 156
6.3.1 紋理采樣簡介 157
6.3.2 *近點采樣 157
6.3.3 線性紋理采樣 158
6.3.4 MIN與MAG采樣 159
6.3.5 不同紋理采樣方式的
案例 159
6.4 mipmap紋理技術(shù) 161
6.5 多重紋理與過程紋理 162
6.5.1 案例概覽 162
6.5.2 將2D紋理映射到球面上的
策略 163
6.5.3 案例的場景結(jié)構(gòu) 164
6.5.4 開發(fā)過程 165
6.6 壓縮紋理的使用 167
6.6.1 ETC壓縮紋理 167
6.6.2 DXT5 169
6.6.3 PVRTC 171
6.7 本章小結(jié) 172
6.8 習(xí)題 172
第7章 3D模型加載 173
7.1 obj模型文件概述 173
7.1.1 obj文件的格式 173
7.1.2 用3ds Max設(shè)計3D模型 174
7.2 加載obj文件 175
7.2.1 加載僅有頂點坐標與面數(shù)據(jù)
的obj文件 175
7.2.2 加載后自動計算面法
向量 178
7.2.3 加載后自動計算平均
法向量 180
7.2.4 加載紋理坐標 182
7.2.5 加載頂點法向量 184
7.3 本章小結(jié) 185
7.4 習(xí)題 185
第8章 混合與霧 187
8.1 混合技術(shù) 187
8.1.1 混合的基本知識 187
8.1.2 源因子和目標因子 188
8.1.3 簡單混合效果案例 189
8.2 地月系云層效果的實現(xiàn) 191
8.3 霧 193
8.3.1 霧的原理與優(yōu)勢 193
8.3.2 霧的簡單實現(xiàn) 194
8.4 本章小結(jié) 196
8.5 習(xí)題 196
第9章 常用3D開發(fā)技巧 197
9.1 標志板 197
9.1.1 案例效果與基本原理 197
9.1.2 開發(fā)步驟 198
9.2 灰度圖地形 201
9.2.1 基本原理 201
9.2.2 普通灰度圖地形 202
9.2.3 過程紋理地形 205
9.2.4 mipmap地形 206
9.3 天空盒與天空穹 207
9.3.1 天空盒 207
9.3.2 天空穹 209
9.3.3 天空盒與天空穹的使用
技巧 210
9.4 本章小結(jié) 211
9.5 習(xí)題 211
第10章 渲染出更加酷炫的3D場景—
幾種剪裁與測試 213
10.1 剪裁測試 213
10.1.1 基本原理與核心代碼 213
10.1.2 一個主次視角的簡單
案例 213
10.2 模板測試 215
10.2.1 基本原理 215
10.2.2 一個簡單的案例 217
10.3 任意剪裁平面 218
10.3.1 基本原理 218
10.3.2 茶壺被任意平面剪裁的
案例 218
10.4 本章小結(jié) 220
10.5 習(xí)題 220
第11章 Three.js引擎 221
11.1 Three.js概述 221
11.1.1 Three.js簡介 221
11.1.2 Three.js效果展示 222
11.2 初識Three.js應(yīng)用 222
11.3 Three.js基本組件 224
11.3.1 場景 224
11.3.2 幾何對象 226
11.3.3 攝像機 228
11.3.4 光源 232
11.3.5 材質(zhì) 239
11.4 模型加載 245
11.4.1 Three.js中支持的模型文件
格式 246
11.4.2 導(dǎo)入三維格式文件 251
11.4.3 骨骼動畫的加載 254
11.5 貼圖的使用 258
11.5.1 使用紋理貼圖 259
11.5.2 使用法向貼圖 260
11.5.3 使用凹凸貼圖 261
11.5.4 使用光照貼圖制作靜態(tài)
陰影 262
11.5.5 使用高光貼圖 264
11.6 粒子系統(tǒng) 265
11.7 二次繪制 269
11.7.1 認識效果組合器 269
11.7.2 FilmPass通道 270
11.7.3 BloomPass通道 271
11.7.4 DotScreenPass通道 272
11.7.5 ShaderPass通道 273
11.8 本章小結(jié) 276
11.9 習(xí)題 276
第12章 Egret 3D游戲引擎應(yīng)用
開發(fā) 277
12.1 Egret入門 277
12.1.1 Egret簡介 277
12.1.2 Egret Engine的安裝、部署與
使用插件 278
12.1.3 使用Egret Wing插件調(diào)試與
開發(fā)程序 279
12.1.4 Egret Engine 3D簡介 281
12.2 Egret 3D入門 282
12.2.1 創(chuàng)建3D場景 282
12.2.2 使用鼠標事件 285
12.3 天空盒與模型加載 287
12.3.1 Egret 3D中添加天空盒 287
12.3.2 Egret 3D中加載模型 288
12.4 Egret 3D中的紋理與燈光 291
12.4.1 Egret 3D中的紋理應(yīng)用 291
12.4.2 Egret 3D中的燈光應(yīng)用 292
12.5 Egret 3D中的骨骼動畫 294
12.5.1 導(dǎo)出Egret引擎的骨骼
動畫 294
12.5.2 使用Egret引擎加載骨骼
動畫 294
12.6 本章小結(jié) 296
12.7 習(xí)題 296
第13章 Ammo物理引擎 297
13.1 Ammo物理引擎概述 297
13.2 Ammo中常用類概述 297
13.2.1 btVector3類—
三維向量類 298
13.2.2 btTransform類—
變換類 298
13.2.3 btRigidBody類—
剛體類 299
13.2.4 btDynamicsWorld類—
物理世界類 299
13.2.5 btDiscreteDynamicsWorld類
—離散物理世界類 300
13.2.6 btSoftRigidDynamicsWorld類—支持模擬軟體的物理世界類 300
13.2.7 btCollisionShape類—
碰撞形狀類 301
13.2.8 btStaticPlaneShape類—
靜態(tài)平面形狀 301
13.2.9 btSphereShape類—
球體形狀類 301
13.2.10 btBoxShape類—
長方體盒碰撞
形狀類 301
13.2.11 btCylinderShape類—
圓柱形狀類 302
13.2.12 btCapsuleShape類—
膠囊形狀類 302
13.2.13 btConeShape類—
圓錐形狀類 302
13.2.14 btCompoundShape類—復(fù)合碰撞形狀類 302
13.3 簡單的物理場景 303
13.3.1 案例運行效果 303
13.3.2 案例的基本結(jié)構(gòu) 303
13.3.3 主要方法的介紹 304
13.4 多種形狀剛體的碰撞 306
13.4.1 案例運行效果 306
13.4.2 案例開發(fā)過程 307
13.5 旋轉(zhuǎn)的陀螺 308
13.5.1 案例運行效果 308
13.5.2 案例開發(fā)過程 308
13.6 觸發(fā)器—消失的箱子 309
13.6.1 案例運行效果 310
13.6.2 案例開發(fā)過程 310
13.7 碰撞過濾—物體碰撞下落 311
13.7.1 案例運行效果 311
13.7.2 案例開發(fā)過程 312
13.8 關(guān)節(jié)的介紹 313
13.8.1 關(guān)節(jié)的父類—
btTypedConstraint類 313
13.8.2 鉸鏈關(guān)節(jié)—btHingeConstraint類 313
13.8.3 鉸鏈關(guān)節(jié)的案例—
球落門開 314
13.8.4 齒輪關(guān)節(jié)—btGearConstraint 類 316
13.8.5 齒輪關(guān)節(jié)的案例—轉(zhuǎn)動的齒輪 316
13.8.6 點對點關(guān)節(jié)—btPoint2PointConstraint
類 318
13.8.7 點對點關(guān)節(jié)的案例—
懸掛的物體 318
13.8.8 滑動關(guān)節(jié)—
btSliderConstraint類 320
13.8.9 滑動關(guān)節(jié)的案例—6個
方向的物體滑動 321
13.8.10 六自由度關(guān)節(jié)—btGeneric6DofConstraint
類 323
13.8.11 六自由度關(guān)節(jié)的案例—
掉落的蜘蛛 323
13.9 交通工具類的介紹 326
13.9.1 交通工具類—btRaycastVehicle 類 326
13.9.2 交通工具的案例—移動的小車 327
13.10 軟體 331
13.10.1 軟體幫助類—btSoftBodyHelps 類 331
13.10.2 軟布案例 332
13.10.3 三角形網(wǎng)格軟體案例 334
13.10.4 繩索軟體案例 337
13.11 本章小結(jié) 339
13.12 習(xí)題 339
第14章 休閑類游戲—極地大作戰(zhàn) 341
14.1 背景以及功能概述 341
14.1.1 游戲背景概述 341
14.1.2 游戲功能簡介 342
14.2 游戲的策劃及準備工作 343
14.2.1 游戲的策劃 343
14.2.2 游戲的準備工作 343
14.3 游戲的架構(gòu) 344
14.3.1 各個腳本簡介 344
14.3.2 游戲架構(gòu)簡介 345
14.4 網(wǎng)頁文件example.html 346
14.5 游戲相關(guān)腳本 350
14.5.1 初始化資源腳本 350
14.5.2 鍵盤事件監(jiān)聽腳本 354
14.5.3 添加模型腳本 356
14.5.4 碰撞檢測腳本 360
14.6 游戲中相關(guān)工具類腳本概述 363
14.7 游戲中著色器的開發(fā) 363
14.7.1 帶有光照的著色器 363
14.7.2 不帶有光照的簡單
著色器 365
14.8 游戲的優(yōu)化與改進 365
參考文獻 367
H5和WebGL 3D開發(fā)實戰(zhàn)詳解 作者簡介
吳亞峰,畢業(yè)于北京郵電大學(xué),后留學(xué)澳大利亞臥龍崗大學(xué)取得碩士學(xué)位。1998年開始從事Java應(yīng)用的開發(fā),有10多年的Java開發(fā)與培訓(xùn)經(jīng)驗。主要的研究方向為OpenGL ES、手機游戲、Java EE以及搜索引擎。同時為手機游戲、Java EE獨立軟件開發(fā)工程師,現(xiàn)任職于華北理工大學(xué)并兼任華北理工大學(xué)以升大學(xué)生創(chuàng)新實驗中心移動及互聯(lián)網(wǎng)軟件工作室負責人。十多年來不但指導(dǎo)學(xué)生多次制作手游作品獲得多項學(xué)科競賽大獎,還為數(shù)十家知名企業(yè)培養(yǎng)了上千名高級軟件開發(fā)人員。曾編寫過《OpenGL ES 3.0游戲開發(fā)(上下卷)》、《OpenGL ES 2.0游戲開發(fā)(上下卷)》、《Unity 4 3D開發(fā)實戰(zhàn)詳解》、《Unity游戲案例開發(fā)大全》、《Android應(yīng)用案例開發(fā)大全》(第1版、第二版及第三版)、《Android游戲開發(fā)大全》(第1版、第二版及第三版)等多本暢銷技術(shù)書籍。2008年初開始關(guān)注Android平臺下的3D應(yīng)用開發(fā),并開發(fā)出一系列優(yōu)質(zhì)的Android應(yīng)用程序與3D游戲。本次負責全書統(tǒng)稿及第7~14章內(nèi)容的編寫。
- >
推拿
- >
煙與鏡
- >
詩經(jīng)-先民的歌唱
- >
月亮與六便士
- >
伯納黛特,你要去哪(2021新版)
- >
隨園食單
- >
中國人在烏蘇里邊疆區(qū):歷史與人類學(xué)概述
- >
山海經(jīng)