-- 會員 / 註冊 --  
 帳號:
 密碼:
  | 註冊 | 忘記密碼
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書號
詳細書籍分類

H5和WebGL 3D開發實戰詳解

( 簡體 字)
作者:吳亞峰 于復興 索依娜類別:1. -> 程式設計 -> 網路編程 -> HTML
譯者:
出版社:人民郵電出版社H5和WebGL 3D開發實戰詳解 3dWoo書號: 46315
詢問書籍請說出此書號!

缺書
NT售價: 345

出版日:2/1/2017
頁數:366
光碟數:0
站長推薦:
印刷:黑白印刷語系: ( 簡體 版 )
加入購物車 加到我的最愛
(請先登入會員)
ISBN:9787115441010
作者序 | 譯者序 | 前言 | 內容簡介 | 目錄 | 
(簡體書上所述之下載連結耗時費功, 恕不適用在台灣, 若讀者需要請自行嘗試, 恕不保證)
作者序:

譯者序:

前言:

內容簡介:

  本書共分為14章,由淺入深地進行講解,主要內容包括:開發基礎部分,介紹了初識WebGL,實現WebGL可編程渲染管線著色器的著色語言,投影及各種變換;光照效果部分,介紹了WebGL中光照的基本原理與實現、點法向量與面法向量的區別以及光照的每頂點計算與每片元計算的差別;紋理映射部分,介紹了紋理映射的基本原理與使用,同時還介紹了不同的紋理拉伸與采樣方式、多重過程紋理技術以及壓縮紋理;3D模型加載部分,介紹了如何使用自定義的加載工具類直接加載使用3ds Max創建的3D立體物體;混合與霧部分,主要介紹了混合以及霧的基本原理與使用;標志板、天空盒部分,主要介紹了一些常見的3D開發技巧,包括標志板、天空盒與天空穹、鏡像技術等;Three.js引擎部分,主要介紹了對WebGL封裝比較好的Three.js引擎,包括創建場景、攝像機、基本形狀物體、加載模型,以及一些較高級的內容;Egret 3D游戲引擎應用開發部分,介紹Egret 3D在3D游戲開發中的功能;Ammo物理引擎部分,介紹Ammo物理引擎的剛體、軟體等創建與使用;綜合案例—《極地大作戰》部分,通過一個具體的游戲向讀者較為全面地介紹了游戲項目的開發流程以及運用各種技術解決具體問題的思路,案例中綜合運用了前面章節中講解的知識,讓讀者盡快進入實戰角色。
目錄:

第1章 HTML 5開發基礎—進入
WebGL 世界的第一道坎 1
1.1 HTML的發展簡史 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現狀 3
1.3 初識HTML5 4
1.3.1 HTML5標簽簡介 4
1.3.2 基礎標簽 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基礎語法 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 使用數組 44
1.5.7 創建自己的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上的基礎圖形 50
1.7 本章小結 51
1.8 習題 52
第2章 初識WebGL 53
2.1 WebGL概述 53
2.1.1 WebGL簡介 53
2.1.2 WebGL效果展示 54
2.2 初識WebGL應用 54
2.2.1 WebGL應用案例部署運行
步驟簡介 55
2.2.2 初識WebGL應用程序 56
2.3 著色器與渲染管線 61
2.3.1 WebGL的渲染管線 61
2.3.2 WebGL中立體物體的
構建 66
2.4 本章小結 68
2.5 習題 68
第3章 著色語言 69
3.1 著色語言概述 69
3.2 著色語言基礎 70
3.2.1 數據類型簡介 70
3.2.2 數據類型的基本使用 73
3.2.3 運算符 74
3.2.4 類型轉換 76
3.2.5 限定符 77
3.2.6 流程控制 79
3.2.7 函數的聲明與使用 81
3.2.8 片元著色器中浮點變量精度
的指定 82
3.2.9 程序的基本結構 82
3.3 特殊的內建變量 83
3.3.1 頂點著色器中的內建變量 83
3.3.2 片元著色器中的內建變量 83
3.4 著色語言的內置函數 84
3.4.1 角度轉換與三角函數 85
3.4.2 指數函數 86
3.4.3 常見函數 86
3.4.4 紋理采樣函數 88
3.5 本章小結 89
3.6 習題 89
第4章 必知必會的3D開發知識—
投影及各種變換 91
4.1 矩陣數學計算工具腳本Matrix 91
4.2 攝像機的設置 92
4.3 兩種投影方式 93
4.3.1 正交投影 93
4.3.2 透視投影 97
4.4 各種變換 100
4.4.1 基本變換的相關數學
知識 100
4.4.2 平移變換 100
4.4.3 旋轉變換 102
4.4.4 縮放變換 103
4.4.5 基本變換的實質 105
4.5 所有變換的完整流程 106
4.6 繪制方式 109
4.6.1 各種繪制方式概覽 109
4.6.2 點與線段繪制方式 110
4.6.3 三角形條帶與扇面繪制
方式 112
4.7 設置合理的視角 116
4.8 卷繞和背面剪裁 120
4.8.1 基本知識 121
4.8.2 一個簡單的案例 121
4.9 本章小結 123
4.10 習題 123
第5章 光照效果 125
5.1 曲面物體的構建 125
5.1.1 球體的構建原理 125
5.1.2 案例效果概覽 126
5.1.3 具體開發步驟 126
5.2 基本光照效果 129
5.2.1 構建球體的原理 129
5.2.2 環境光 129
5.2.3 散射光 131
5.2.4 鏡面光 135
5.2.5 三種光照通道的合成 138
5.3 定位光與定向光 140
5.4 點法向量和面法向量 142
5.5 光照的每頂點計算與每片元
計算 144
5.6 本章小結 146
5.7 習題 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紋理技術 161
6.5 多重紋理與過程紋理 162
6.5.1 案例概覽 162
6.5.2 將2D紋理映射到球面上的
策略 163
6.5.3 案例的場景結構 164
6.5.4 開發過程 165
6.6 壓縮紋理的使用 167
6.6.1 ETC壓縮紋理 167
6.6.2 DXT5 169
6.6.3 PVRTC 171
6.7 本章小結 172
6.8 習題 172
第7章 3D模型加載 173
7.1 obj模型文件概述 173
7.1.1 obj文件的格式 173
7.1.2 用3ds Max設計3D模型 174
7.2 加載obj文件 175
7.2.1 加載僅有頂點坐標與面數據
的obj文件 175
7.2.2 加載后自動計算面法
向量 178
7.2.3 加載后自動計算平均
法向量 180
7.2.4 加載紋理坐標 182
7.2.5 加載頂點法向量 184
7.3 本章小結 185
7.4 習題 185
第8章 混合與霧 187
8.1 混合技術 187
8.1.1 混合的基本知識 187
8.1.2 源因子和目標因子 188
8.1.3 簡單混合效果案例 189
8.2 地月系云層效果的實現 191
8.3 霧 193
8.3.1 霧的原理與優勢 193
8.3.2 霧的簡單實現 194
8.4 本章小結 196
8.5 習題 196
第9章 常用3D開發技巧 197
9.1 標志板 197
9.1.1 案例效果與基本原理 197
9.1.2 開發步驟 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 本章小結 211
9.5 習題 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 本章小結 220
10.5 習題 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應用 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 材質 239
11.4 模型加載 245
11.4.1 Three.js中支持的模型文件
格式 246
11.4.2 導入三維格式文件 251
11.4.3 骨骼動畫的加載 254
11.5 貼圖的使用 258
11.5.1 使用紋理貼圖 259
11.5.2 使用法向貼圖 260
11.5.3 使用凹凸貼圖 261
11.5.4 使用光照貼圖制作靜態
陰影 262
11.5.5 使用高光貼圖 264
11.6 粒子系統 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 本章小結 276
11.9 習題 276
第12章 Egret 3D游戲引擎應用
開發 277
12.1 Egret入門 277
12.1.1 Egret簡介 277
12.1.2 Egret Engine的安裝、部署與
使用插件 278
12.1.3 使用Egret Wing插件調試與
開發程序 279
12.1.4 Egret Engine 3D簡介 281
12.2 Egret 3D入門 282
12.2.1 創建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中的紋理應用 291
12.4.2 Egret 3D中的燈光應用 292
12.5 Egret 3D中的骨骼動畫 294
12.5.1 導出Egret引擎的骨骼
動畫 294
12.5.2 使用Egret引擎加載骨骼
動畫 294
12.6 本章小結 296
12.7 習題 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類—
靜態平面形狀 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類—復合碰撞形狀類 302
13.3 簡單的物理場景 303
13.3.1 案例運行效果 303
13.3.2 案例的基本結構 303
13.3.3 主要方法的介紹 304
13.4 多種形狀剛體的碰撞 306
13.4.1 案例運行效果 306
13.4.2 案例開發過程 307
13.5 旋轉的陀螺 308
13.5.1 案例運行效果 308
13.5.2 案例開發過程 308
13.6 觸發器—消失的箱子 309
13.6.1 案例運行效果 310
13.6.2 案例開發過程 310
13.7 碰撞過濾—物體碰撞下落 311
13.7.1 案例運行效果 311
13.7.2 案例開發過程 312
13.8 關節的介紹 313
13.8.1 關節的父類—
btTypedConstraint類 313
13.8.2 鉸鏈關節—btHingeConstraint類 313
13.8.3 鉸鏈關節的案例—
球落門開 314
13.8.4 齒輪關節—btGearConstraint 類 316
13.8.5 齒輪關節的案例—轉動的齒輪 316
13.8.6 點對點關節—btPoint2PointConstraint
類 318
13.8.7 點對點關節的案例—
懸掛的物體 318
13.8.8 滑動關節—
btSliderConstraint類 320
13.8.9 滑動關節的案例—6個
方向的物體滑動 321
13.8.10 六自由度關節—btGeneric6DofConstraint
類 323
13.8.11 六自由度關節的案例—
掉落的蜘蛛 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 三角形網格軟體案例 334
13.10.4 繩索軟體案例 337
13.11 本章小結 339
13.12 習題 339
第14章 休閑類游戲—極地大作戰 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 游戲的架構 344
14.3.1 各個腳本簡介 344
14.3.2 游戲架構簡介 345
14.4 網頁文件example.html 346
14.5 游戲相關腳本 350
14.5.1 初始化資源腳本 350
14.5.2 鍵盤事件監聽腳本 354
14.5.3 添加模型腳本 356
14.5.4 碰撞檢測腳本 360
14.6 游戲中相關工具類腳本概述 363
14.7 游戲中著色器的開發 363
14.7.1 帶有光照的著色器 363
14.7.2 不帶有光照的簡單
著色器 365
14.8 游戲的優化與改進 365
參考文獻 367


序: