注冊(cè) | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當(dāng)前位置: 首頁出版圖書科學(xué)技術(shù)計(jì)算機(jī)/網(wǎng)絡(luò)軟件工程及軟件方法學(xué)Unity 3D ShaderLab 開發(fā)實(shí)戰(zhàn)詳解(第2版)

Unity 3D ShaderLab 開發(fā)實(shí)戰(zhàn)詳解(第2版)

Unity 3D ShaderLab 開發(fā)實(shí)戰(zhàn)詳解(第2版)

定 價(jià):¥69.00

作 者: 郭浩瑜
出版社: 人民郵電出版社
叢編項(xiàng):
標(biāo) 簽: 暫缺

ISBN: 9787115386243 出版時(shí)間: 2015-05-01 包裝:
開本: 16開 頁數(shù): 322 字?jǐn)?shù):  

內(nèi)容簡介

  《Unity 3D ShaderLab 開發(fā)實(shí)戰(zhàn)詳解(第2版)》全面講解了Unity Shader渲染的實(shí)戰(zhàn)技術(shù),全書分為5篇共33章,主要內(nèi)容為:Shader在3D游戲中的作用、Shader的實(shí)例化、Shader的實(shí)現(xiàn)語言等;Unity中Shader的形態(tài)、SubShader的重要標(biāo)簽、可編程Shader、Surface Shader;Shader中用到的各種空間的概念和Shader中的投影矩陣;基本的光照模型;第一個(gè)被執(zhí)行的Pass,包括渲染路徑和Pass的LightMode標(biāo)簽;VertexLit渲染路徑,包括頂點(diǎn)照明和Unity存放光源的方式;Forward渲染路徑;基于光照貼圖的烘焙照明;NDC的驗(yàn)證;基于LightProbes的照明;平面陰影;球體陰影;體積陰影;映射陰影;內(nèi)置的陰影;Pass的通用指令開關(guān);Blend操作;Stencil蒙版;固定管線;Surface Shader;凹凸材質(zhì);卡通材質(zhì);鏡面材質(zhì);半透明材質(zhì);制作透明材質(zhì);體積霧;Wrap Model新解;用Shader切割物體;面積光;體積光;材質(zhì)替代渲染;自定義材質(zhì)編輯器;后期效果;地形;投影;Shader的組織和復(fù)用。本書還包含你必須知道的渲染概念及基于渲染路徑的優(yōu)化、移動(dòng)平臺(tái)上的優(yōu)化等實(shí)戰(zhàn)內(nèi)容,是不可多得的實(shí)戰(zhàn)教程?!禪nity 3D ShaderLab 開發(fā)實(shí)戰(zhàn)詳解(第2版)》適合移動(dòng)開發(fā)者、游戲開發(fā)者、程序員閱讀,可作為大專院校相關(guān)專業(yè)的師生用書,也可當(dāng)作培訓(xùn)學(xué)校的教材。

作者簡介

  郭浩瑜,資深的程序員,在Android、iOS開發(fā)平臺(tái)上開發(fā)了許多應(yīng)用,特別擅長Unity 3D游戲開發(fā)中的渲染技術(shù),現(xiàn)為某著名游戲公司的項(xiàng)目經(jīng)理。

圖書目錄

第1篇 初識(shí)廬山真面目——Unity 3D Shader
第1章 虛擬世界的“魔法”——Shader(著色器)的概念和在3D游戲中的作用 2
1.1 Shader的概念 2
1.1.1 虛擬世界中的光明和色彩 2
1.1.2 游戲開發(fā)人員的終點(diǎn) 2
1.1.3 Shader(著色器)簡史 2
1.2 Shader的實(shí)例化 3
1.3 Shader的實(shí)現(xiàn)語言 3
1.3.1 GPU上的編程 3
1.3.2 Unity中的著色器編程 3
第2章 Unity中Shader(著色器)的形態(tài) 4
2.1 Unity通過ShaderLab來組織Shader 4
2.1.1 關(guān)鍵字Shader 4
2.1.2 使用SubShader組織Shader的不同實(shí)現(xiàn) 4
2.1.3 SubShader的重要標(biāo)簽 4
2.1.4 SubShader中的Pass塊 5
2.1.5 Pass塊的標(biāo)簽及其名字的意義 5
2.1.6 使用FallBack保證Shader的廣泛適應(yīng)性 6
2.2 Unity的ShaderLab所支持的Shader編程語言 6
2.3 Unity中Shader的3種形態(tài) 6
2.3.1 固定管線 6
2.3.2 可編程Shader 7
2.3.3 ShaderLab的驕傲:
Surface Shader 8
2.4 Shader的數(shù)據(jù)接口:屬性和uniform變量 8
2.4.1 在Properties塊中定義屬性 8
2.4.2 通過圖形界面操作屬性 9
2.4.3 通過腳本操控屬性 9
2.4.4 矩陣:不能在屬性塊定義的變量 10
2.4.5 在Cg代碼中使用屬性 10
第3章 Shader(著色器)中用到的各種空間概念 11
3.1 模型空間 11
3.1.1 為什么用模型空間 11
3.1.2 在腳本和Shader中進(jìn)出模型空間 11
3.2 世界坐標(biāo)空間 11
3.2.1 統(tǒng)一表達(dá):世界坐標(biāo)空間 11
3.2.2 在腳本和Shader中進(jìn)出世界坐標(biāo)空間 12
3.3 視空間 12
3.3.1 渲染的需要:視空間 12
3.3.2 在腳本和Shader中進(jìn)出視空間 12
3.4 空間的一塊:視錐體 12
3.5 剪切空間 13
3.5.1 投影 13
3.5.2 腳本和Shader中的投影矩陣 13
3.5.3 驗(yàn)證NDC 14
3.6 NDC之后 14
3.6.1 NDC之后發(fā)生的事情 14
第4章 基本的光照模型 16
4.1 光源對(duì)物體照明的分類 16
4.1.1 間接照明 16
4.1.2 直接照明 16
4.2 照明的計(jì)算方式:光照模型 16
4.2.1 漫反射和Lambert 16
4.2.2 鏡面高光和Phong 17
4.2.3 半角向量和BlinnPhong 18
第2篇 讓你的應(yīng)用更炫彩——Unity中的照明
第5章 第一個(gè)被執(zhí)行的Pass 20
5.1 不同的LightMode被選擇的順序 20
5.1.1 渲染路徑和Pass的LightMode標(biāo)簽 20
5.1.2 設(shè)計(jì)可以檢測(cè)渲染路徑的材質(zhì) 20
5.1.3 設(shè)計(jì)便于檢測(cè)渲染路徑的場(chǎng)景 23
5.1.4 VertexLit渲染路徑下Pass的執(zhí)行 23
5.1.5 Forward渲染路徑下Pass的執(zhí)行 23
5.1.6 Deferred渲染路徑下Pass的執(zhí)行 23
5.1.7 不同渲染路徑下的Pass執(zhí)行規(guī)則總結(jié) 24
5.2 3個(gè)渲染路徑之外 24
5.2.1 LightMode的其他值 24
5.2.2 設(shè)計(jì)檢測(cè)用的材質(zhì) 24
5.2.3 Always類型的Pass在3種渲染路徑下的執(zhí)行 26
5.2.4 LightMode的默認(rèn)值及其在3種渲染路徑下的執(zhí)行 27
第6章 VertexLit渲染路徑 28
6.1 頂點(diǎn)照明 28
6.1.1 什么是頂點(diǎn)照明 28
6.1.2 存取光源的變量 28
6.2 頂點(diǎn)照明和Unity存放光源的第一種方式 29
6.2.1 用于調(diào)試輸出的材質(zhì) 29
6.2.2 設(shè)計(jì)用于檢測(cè)的場(chǎng)景 29
6.2.3 在Vertex Pass中的檢測(cè)結(jié)果 30
6.2.4 效數(shù)據(jù) 30
6.3 頂點(diǎn)照明和Unity存放光源的第二種方式 31
6.3.1 用于調(diào)試輸出的材質(zhì) 31
6.3.2 設(shè)計(jì)用于檢測(cè)的場(chǎng)景 32
6.3.3 在Vertex Pass中的檢測(cè)結(jié)果 32
6.4 頂點(diǎn)照明和Unity存放光源的第三種方式 33
6.4.1 Unity為Vertex Pass準(zhǔn)備的光源 33
6.4.2 設(shè)計(jì)用于檢測(cè)的場(chǎng)景 33
6.4.3 頂點(diǎn)照明中的點(diǎn)光源 33
6.4.4 計(jì)算頂點(diǎn)照明的ShadeVertexLights函數(shù) 34
6.4.5 頂點(diǎn)照明中的Pixel光源 34
6.4.6 頂點(diǎn)照明中的平行光 35
6.4.7 頂點(diǎn)照明中的燈光信息小結(jié) 37
6.4.8 一個(gè)頂點(diǎn)照明的實(shí)現(xiàn)例子 37
第7章 Forward渲染路徑 39
7.1 渲染物體——ForwardBase和ForwardAdd 39
7.1.1 設(shè)計(jì)檢測(cè)用的場(chǎng)景和材質(zhì) 39
7.1.2 ForwardBase和ForwardAdd的表現(xiàn) 41
7.2 Forward渲染路徑下的重要光源 41
7.2.1 設(shè)計(jì)檢測(cè)用的材質(zhì) 41
7.2.2 不存在Pixel光源時(shí)的情況 42
7.2.3 存在Pixel平行光時(shí)的情況 42
7.2.4 存在Pixel點(diǎn)光源時(shí)的情況 42
7.2.5 有多種類型的Pixel光源時(shí)的情況 43
7.2.6 Forward渲染路徑下的Pixel光源小結(jié) 43
7.3 重要光源在ForwardAdd內(nèi)的執(zhí)行 43
7.3.1 設(shè)計(jì)用來檢測(cè)Pixel光源的材質(zhì) 43
7.3.2 設(shè)計(jì)檢測(cè)用的場(chǎng)景 46
7.3.3 檢測(cè)結(jié)果:ForwardAdd如何被執(zhí)行 46
7.4 ForwardBase和Unity存放光源的第一種方式 47
7.4.1 設(shè)計(jì)檢測(cè)用的材質(zhì) 47
7.4.2 第一種方式內(nèi)的Vertex點(diǎn)光源 48
7.4.3 第一種方式內(nèi)的平行光 48
7.4.4 第一種方式內(nèi)的重要Pixel點(diǎn)光源 48
7.4.5 只有ForwardBase時(shí)的情況總結(jié) 49
7.4.6 ForwardAdd對(duì)ForwardBase內(nèi)光源的影響 49
7.4.7 有ForwardAdd時(shí)存放光源數(shù)據(jù)第一種方式的總結(jié) 51
7.5 ForwardAdd和Unity存放光源的第一種方式 51
7.5.1 設(shè)計(jì)檢測(cè)用的材質(zhì) 51
7.5.2 設(shè)計(jì)檢測(cè)用的場(chǎng)景 52
7.5.3 ForwardAdd內(nèi)的Pixel光源 52
7.5.4 ForwardAdd內(nèi)的平行光 53
7.5.5 數(shù)組變量unity_4LightPos的使用情況分析 53
7.6 Forward渲染路徑和Unity存放光源的第三種方式 53
7.6.1 檢測(cè)ForwardBase內(nèi)情況的材質(zhì) 53
7.6.2 檢測(cè)結(jié)果:第三種方式不包含對(duì)ForwardBase有效的數(shù)據(jù) 54
7.6.3 檢測(cè)結(jié)果:第三種方式不包含對(duì)ForwardAdd有效的數(shù)據(jù) 54
7.7 Forward渲染路徑總結(jié) 55
7.7.1 Forward渲染路徑下材質(zhì)的適應(yīng)性 55
7.7.2 Unity如何為Forward渲染路徑設(shè)置光源 55
第8章 基于光照貼圖的烘焙照明 56
8.1 單光照貼圖和VertexLit渲染路徑 56
8.1.1 測(cè)試烘焙的場(chǎng)景 56
8.1.2 烘焙場(chǎng)景中使用的材質(zhì) 57
8.1.3 烘焙的前提:靜態(tài)物體 57
8.1.4 如何在烘焙中使用自發(fā)光材質(zhì) 57
8.1.5 烘焙之后靜態(tài)物體和非靜態(tài)物體的實(shí)時(shí)照明 59
8.1.6 應(yīng)用光照貼圖到VertexLit渲染路徑下的材質(zhì)中 59
8.1.7 通過自己的材質(zhì)改變實(shí)時(shí)光源對(duì)烘焙后物體的照明 61
8.2 在效果和性能間進(jìn)行權(quán)衡 62
8.2.1 影響全局的Resolution選項(xiàng) 62
8.2.2 影響單個(gè)物體的Scale In Lightmap選項(xiàng) 63
8.3 單光照貼圖和Forward渲染路徑 64
8.3.1 單光照貼圖在VertexLit和Forward下面的不同表現(xiàn) 64
8.3.2 準(zhǔn)備可應(yīng)用于烘焙的自發(fā)光材質(zhì) 64
8.3.3 在ForwardBase內(nèi)計(jì)算光照貼圖 66
8.3.4 Forward渲染路徑下烘焙之后的實(shí)時(shí)照明 67
8.4 單光照貼圖在Deferred渲染路徑下的實(shí)時(shí)陰影 69
8.5 雙光照貼圖和Deferred渲染路徑 69
8.5.1 全局GI、間接照明以及雙光照貼圖 69
8.5.2 混合雙光照貼圖和實(shí)時(shí)照明 69
8.5.3 觀察混合過程 71
8.5.4 雙光照貼圖的使用限制 72
8.6 雙光照貼圖和Forward渲染路徑

本目錄推薦

掃描二維碼
Copyright ? 讀書網(wǎng) ranfinancial.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號(hào) 鄂公網(wǎng)安備 42010302001612號(hào)