[ 收藏 ] [ 简体中文 ]  
臺灣貨到付款、ATM、超商、信用卡PAYPAL付款,4-7個工作日送達,999元臺幣免運費   在線留言 商品價格為新臺幣 
首頁 電影 連續劇 音樂 圖書 女裝 男裝 童裝 內衣 百貨家居 包包 女鞋 男鞋 童鞋 計算機周邊

商品搜索

 类 别:
 关键字:
    

商品分类

  • 新类目

     管理
     投资理财
     经济
     社会科学
  • Unity 3D ShaderLab開發實戰詳解 第3版 郭浩瑜,張鶴 著 程序設計
    該商品所屬分類:計算機/網絡 -> 計算機/網絡
    【市場價】
    585-848
    【優惠價】
    366-530
    【作者】 郭浩瑜 
    【出版社】人民郵電出版社 
    【ISBN】9787115505408
    【折扣說明】一次購物滿999元台幣免運費+贈品
    一次購物滿2000元台幣95折+免運費+贈品
    一次購物滿3000元台幣92折+免運費+贈品
    一次購物滿4000元台幣88折+免運費+贈品
    【本期贈品】①優質無紡布環保袋,做工棒!②品牌簽字筆 ③品牌手帕紙巾
    版本正版全新電子版PDF檔
    您已选择: 正版全新
    溫馨提示:如果有多種選項,請先選擇再點擊加入購物車。
    *. 電子圖書價格是0.69折,例如了得網價格是100元,電子書pdf的價格則是69元。
    *. 購買電子書不支持貨到付款,購買時選擇atm或者超商、PayPal付款。付款後1-24小時內通過郵件傳輸給您。
    *. 如果收到的電子書不滿意,可以聯絡我們退款。謝謝。
    內容介紹



    ISBN編號:9787115505408
    書名:Unity Unity
    作者:郭浩瑜

    代碼:79
    開本:16開
    是否是套裝:否

    出版社名稱:人民郵電出版社

        
        
    "

    Unity 3D ShaderLab開發實戰詳解 第3版

    作  者: 郭浩瑜,張鶴 著
    size="731x8"
    定  價: 79
    size="731x8"
    出?版?社: 人民郵電出版社
    size="731x8"
    出版日期: 2019年11月01日
    size="731x8"
    頁  數: 251
    size="731x8"
    裝  幀: 平裝
    size="731x8"
    ISBN: 9787115505408
    size="731x8"
    目錄
    篇 初識廬山真面目—Unity 3D著色器
    章 著色器的概念和渲染流水線 2
    1.1 著色器的概念 2
    1.1.1 虛擬世界中的光明和色彩 2
    1.1.2 遊戲開發人員的巔峰 2
    1.1.3 著色器簡史 2
    1.1.4 著色器的實例化 3
    1.1.5 著色器的實現語言 3
    1.1.6 Unity中的著色器編程 4
    1.2 渲染流水線 4
    1.2.1 渲染流水線簡介 4
    1.2.2 渲染流水線階段 5
    1.3 渲染流水線執行階段 6
    1.3.1 輸入裝配階段 6
    1.3.2 頂點著色器 8
    1.3.3 細化階段 8
    1.3.4 幾何著色器 9
    1.3.5 流輸出階段 10
    1.3.著色器 10
    1.3.7 輸出合並階段 11
    1.4 其他一些細節 11
    1.4.1 延遲渲染和前向渲染 11
    1.4.2 批次合並渲染 13
    第2章 渲染原理和圖形存儲器 14
    2.1 渲染原理 14
    2.1.1 立即模式渲染 14
    2.1.2 基於區塊的(延遲)渲染 16
    2.2 圖形存儲器 18
    2.2.1 GPU的存儲繫統層次體繫 19
    2.2.2 數據結構 20
    2.2.3 渲染所需的數據結構 23
    2.2.4 合並批次渲染原理回顧 23
    第3章 Unity中著色器的形態 25
    3.1 Unity通過ShaderLab來組織著色器 25
    3.1.1 關鍵字Shader 25
    3.1.2 使用子著色器組織著色器的不同實現 25
    3.1.3 子著色器的重要標簽 25
    3.1.4 子著色器中的Pass塊 26
    3.1.5 Pass塊的標簽及其名字的意義 26
    3.1.6 使用FallBack語句保證著色器的廣泛適應性 27
    3.2 Unity支持的著色器編程語言 27
    3.3 Unity中著色器的3種形態 27
    3.3.1 固定流水線 27
    3.3.2 可編程著色器 28
    3.3.3 ShaderLab中的表面著色器 29
    3.4 著色器的數據接口—屬性和uniform變量 31
    3.4.1 在Properties塊中定義屬性 31
    3.4.2 通過圖形界面操作屬性 31
    3.4.3 通過腳本操控屬性 31
    3.4.4 矩陣—不能在屬性塊中定義的變量 32
    3.4.5 在Cg代碼中使用屬性 32
    第4章 著色器中用到的各種空間概念 33
    4.1 模型空間 33
    4.1.1 為什麼用模型空間 33
    4.1.2 在腳本和著色器中進出模型空間 33
    4.2 世界坐標空間 33
    4.2.1 統一的坐標空間—世界坐標空間 33
    4.2.2 在腳本和著色器中進出世界坐標空間 34
    4.3 視空間 34
    4.3.1 渲染的需要—視空間 34
    4.3.2 在腳本和著色器中進出視空間 34
    4.4 空間的一塊—視錐體 34
    4.5 剪切空間 35
    4.5.1 投影 35
    4.5.2 腳本和著色器中的投影矩陣 35
    4.5.3 驗證NDC 35
    4.6 NDC之後 36
    第5章 基本的光照模型 37
    5.1 光源對物體照明的分類 37
    5.1.1 間接照明 37
    5.1.2 直接照明 37
    5.2 亮度的計算方式—光照模型 37
    5.2.1 漫反射和Lambert 37
    5.2.2 鏡面高光和Phong 38
    5.2.3 半角向量和BlinnPhong 38
    第2篇 讓應用更炫彩—Unity中的照明
    第6章 個執行的通道 42
    6.1 不同的LightMode被選擇的順序 42
    6.1.1 渲染路徑和通道的LightMode標簽 42
    6.1.2 設計可以檢測渲染路徑的材質 42
    6.1.3 設計便於檢測渲染路徑的場景 43
    6.1.4 觀察那些渲染的通道 43
    6.2 3個渲染路徑之外的處理方式 45
    6.2.1 LightMode的其他值 45
    6.2.2 設計檢測用的材質 45
    第7章 前向渲染路徑 47
    7.1 渲染物體—ForwardBase和ForwardAdd 47
    7.1.1 設計檢測用的場景和材質 47
    7.1.2 ForwardBase和ForwardAdd的表現 48
    7.2 前向渲染路徑下的光源 48
    7.2.1 設計檢測用的材質 48
    7.2.2 光源的情況 48
    7.2.3 Unity如何為前向渲染路徑設置光源 49
    第8章 基於光照貼圖的烘焙照明 50
    8.1 烘焙的維度和屬性矩陣 50
    8.2 光照貼圖 50
    8.2.1 測試烘焙的場景 51
    8.2.2 烘焙之後的場景 52
    8.2.3 雙光照貼圖 52
    8.3 在效果和性能間進行權衡 52
    8.3.1 影響全局的Resolution選項 53
    8.3.2 單個物體的選項 53
    第9章 柔和的低頻照明 55
    9.1 初識光照探頭 55
    9.1.1 光照探頭照明的優點 55
    9.1.2 檢測光照探頭照明的場景 55
    9.1.3 使用光照探頭組進行管理 57
    9.1.4 烘焙場景光照信息到光照探頭中 57
    9.1.5 對比光照探頭照明和實時照明 58
    9.2 放置光照探頭的注意事項 59
    9.2.1 必須形成一個體積 59
    9.2.2 單個光照探頭必須處於采樣光源的照射範圍 59
    9.3 照明采樣的Anchor Override 59
    9.3.1 動態更新光照探頭 59
    9.3.2 基於線性插值的采樣 59
    9.3.3 改變默認的插值位置 59
    9.4 光照探頭照明和陰影 60
    9.4.1 光照探頭和光照貼圖的異同 60
    9.4.2 烘焙陰影時可能會犯的錯誤 61
    9.4.3 將靜態物體的陰影烘焙到光照探頭上 61
    9.4.4 光照探頭照明和實時陰影的混合 62
    9.5 烘焙一個色彩豐富的場景 62
    9.6 在自己的材質中使用光照探頭 63
    9.6.1 為前向渲染路徑中的材質計算光照探頭 63
    9.6.2 使用ShadeSH9函數 64
    9.6.3 在一個表面著色器中進行計算 65
    9.7 LPPV的設計目的 66
    9.7.1 LPPV是什麼 66
    9.7.2 照明的場景 66
    第3篇 使應用更逼真—陰影
    0章 平面陰影 70
    10.1 平行光對平面的投影 70
    10.1.1 對平行光投影的考慮 70
    10.1.2 進出陰影接受平面的矩陣 70
    10.1.3 使用三角形相似計算陰影 71
    10.2 點光源對平面的投影 72
    10.3 陰影的淡出 73
    10.3.1 有效利用平面陰影計算過程中的數據 73
    10.3.2 潛在的問題 74
    1章 球體陰影 75
    11.1 平行光對球體的投影 75
    11.1.1 投影球體的信息 75
    11.1.2 使用相似三角形計算投影 75
    11.2 陰影的淡入/淡出 76
    11.3 點光源對球體的投影 77
    2章 體積陰影 78
    12.1 將頂點沿某一方向擠出 78
    12.1.1 在Vertex函數中操作 78
    12.1.2 判斷頂點是向光還是背光 79
    12.2 從體積中找到陰影區域 79
    12.2.1 兩次擠出 79
    12.2.2 計算出陰影區域 80
    12.2.3 渲染陰影 80
    12.2.4 需要注意的問題 80
    3章 陰影映射 82
    13.1 燈光空間和相機空間 82
    13.1.1 觀察兩個空間 82
    13.1.2 兩個視角的Z深度 82
    13.1.3 渲染Z深度的材質 83
    13.2 投射Z深度 83
    13.2.1 準備燈光視角的投影矩陣 83
    13.2.2 在材質中計算投影後的Z深度 84
    13.3 比較Z深度 85
    13.3.1 比較Z深度的材質 85
    13.3.2 Z深度的精度引起的問題 87
    13.3.3 提高Z深度的精度 87
    13.3.4 對Z深度值進行偏移 88
    4章 內置的陰影 89
    14.1 Unity實時陰影的原理 89
    14.1.1 基本原理 89
    14.1.2 軟陰影 89
    14.2 投射陰影 90
    14.2.1 使用ShadowCaster投射陰影 90
    14.2.2 在ShadowCaster裡都做了什麼 91
    14.2.3 寫一個自己的ShadowCaster 91
    14.2.4 改變ShadowCaster的行為 92
    14.2.5 陰影和FallBack機制 92
    14.3 接受陰影 94
    14.4 表面著色器和陰影 94
    14.4.1 表面著色器的陰影和Fallback 94
    14.4.2 表面著色器裡的燈光參數和陰影 95
    14.4.3 表面著色器對前向渲染路徑下陰影的支持 95
    14.5 陰影的批處理 96
    14.5.1 批處理陰影的好處 96
    14.5.2 簡單的Caster 97
    14.5.3 靜態陰影的批處理 98
    14.5.4 動態陰影的批處理 100
    第4篇 Unity中的各種著色器
    5章 通道的通用指令開關 104
    15.1 使用LOD在運行時決定材質 104
    15.1.1 材質的LOD 104
    15.1.2 在運行時設定單個材質的LOD 104
    15.1.3 設定全局所有材質的LOD 105
    15.2 渲染隊列 106
    15.2.1 標簽隊列和渲染順序 106
    15.2.2 渲染隊列和ZTest判斷 107
    15.2.3 Unity中內置的渲染隊列 107
    15.2.4 一個利用渲染隊列的例子 107
    15.3 透明的產生 108
    15.3.1 Alpha檢測和8種比較條件 108
    15.3.2 生成著色器的內容 108
    15.3.3 結合AlphaTest和Blend操作 109
    15.4 混合操作及其應用 110
    15.4.1 混合操作 110
    15.4.2 生成著色器的代碼 110
    15.4.3 檢測不同的混合操作 110
    15.4.4 BlendOp選項 111
    15.4.5 檢測BlendOp操作 112
    15.4.6 兩個使用Blend生成的效果 112
    15.5 使用ColorMask 114
    15.5.1 ColorMask的作用 114
    15.5.2 檢測ColorMask 114
    15.5.3 一個使用ColorMask的例子 115
    15.6 深度測試 116
    15.6.1 存取場景的深度測試 116
    15.6.2 RenderType標簽和與生成深度測試的關聯 116
    15.6.3 內置RenderType的值 117
    15.6.4 前向渲染路徑下的深度測試 117
    15.7 Z深度的偏移量 118
    15.7.1 干預正常深度測試的手段 118
    15.7.2 觀察偏移量在不同應用條件下的表現 118
    15.8 面的剔除操作 118
    15.9 自動生成貼圖的坐標 119
    15.9.1 ObjectLinear和等價的Cg代碼 119
    15.9.2 EyeLinear和等價的Cg代碼 120
    15.9.3 SphereMap和等價的Cg代碼 121
    15.9.4 CubeReflect和等價的Cg代碼 122
    15.9.5 CubeNormal和等價的Cg代碼 122
    15.10 抓屏操作 123
    15.10.1 如何使用GrabPass 123
    15.10.2 一個模擬曲面反射的例子 124
    15.11 霧效 124
    15.11.1 霧效和Unity的3種實現 124
    15.11.2 材質中對霧效的控制 125
    15.11.3 實現自己的霧效 126
    15.12 蒙版 128
    15.12.1 蒙版測試、Z深度和Alpha測試 128
    15.12.2 使用蒙版測試改變渲染結果 128
    15.12.3 綜合使用蒙版和隊列 128
    6章 固定流水線 130
    16.1 Unity中的固定流水線 130
    16.1.1 固定流水線基本形態 130
    16.1.2 與照明相關的Material塊 130
    16.1.3 處理紋理的SetTexture塊 131
    16.1.4 流水線基本形態的另一種寫法 131
    16.1.5 Combine語句 131
    16.2 使用頂點色 132
    16.2.1 使用ColorMaterial 132
    16.2.2 使用Bind 132
    16.3 在固定流水線中使用光照貼圖 132
    16.4 嵌套Cg代碼 133
    7章 表面著色器 134
    17.1 表面著色器的適應性 134
    17.1.1 一個分析策略 134
    17.1.2 測試用的場景 134
    17.1.3 檢測結果 135
    17.2 延遲渲染和GeoBuffer 135
    17.3 表面著色器的特殊性 136
    17.3.1 表面著色器的混合和透明 136
    17.3.2 自定義Vertex函數 137
    8章 凹凸材質 139
    18.1 切空間 139
    18.2 凹凸貼圖 139
    18.2.1 計算到切空間的矩陣 139
    18.2.2 Unity中法線貼圖的壓縮格式 140
    18.2.3 使用切空間矩陣的另一種方法 140
    18.2.4 Unity對切空間計算的支持 141
    18.2.5 解壓縮法線貼圖的函數 141
    18.2.6 在切空間中計算高光 142
    18.2.7 表面著色器和切空間 142
    18.3 視差映射 143
    18.3.1 視差映射及其別名 143
    18.3.2 一個使用灰度圖來偏移UV的材質 143
    18.3.3 結合法線貼圖 145
    18.3.4 用視角來決定UV偏移量 145
    18.3.5 一個完整的實現 146
    18.4 地勢映射 147
    18.4.1 視差映射的極限和地勢映射的面世 147
    18.4.2 地勢映射的算法 148
    18.4.3 一個完整的實現 148
    9章 卡通材質 151
    19.1 描邊 151
    19.1.1 沿法線擠出輪廓 151
    19.1.2 容易產生的問題 152
    19.1.3 在視空間中擠出 152
    19.1.4 頂點位置的另一個含義 153
    19.1.5 調和法線和頂點方向 154
    19.1.6 判斷頂點的指向 154
    19.1.7 不僅僅是輪廓 155
    19.1.8 通過Z偏移量來描邊 158
    19.2 卡通著色 158
    19.2.1 對光照進行離散化 158
    19.2.2 使用2D貼圖重新映射光照 160
    第20章 鏡面材質 162
    20.1 鏡像一個相機 162
    20.1.1 鏡子裡的世界和我的計劃 162
    20.1.2 在腳本中對位置和角度進行鏡像 162
    20.2 使用鏡像相機來渲染和投影 163
    20.2.1 鏡面材質的工作—采樣被投影的渲染結果 163
    20.2.2 腳本的工作—渲染鏡像相機和設置投影矩陣 164
    20.3 鏡像相機的近剪切平面和傾斜矩陣 164
    20.3.1 調節近剪切平面 164
    20.3.2 使用傾斜矩陣微調視錐體 165
    第21章 透明和半透明材質 166
    21.1 半透明材質 166
    21.2 化繁為簡 166
    21.3 透明材質 167
    第22章 體積霧 170
    22.1 距離的表達—相對於背景的體積霧 170
    22.1.1 需要計算的東西 170
    22.1.2 使用一個通道來完成所有的計算 170
    22.1.3 黑色的霧效 171
    22.2 厚度的表達—物體形體的體積霧 172
    22.2.1 必須計算的兩個數據 172
    22.2.2 在Unity中使用一個通道來完成所有計算 172
    第23章 面積光 175
    23.1 線光源 175
    23.1.1 點、線、面 175
    23.1.2 如何理解一個線光源 175
    23.1.3 通過腳本傳遞線光源的幾何信息 175
    23.1.4 計算線光源的照明 176
    23.1.5 線光源的輻射方向 177
    23.1.6 線光源的衰減 178
    23.2 面積光源 179
    23.2.1 面積光和線光源的不同 179
    23.2.2 通過腳本設定面積光的幾何特性 179
    23.2.3 計算面積光 179
    23.2.4 和默認照明的整合 181
    第24章 體積光 183
    24.1 體積光和體積陰影 183
    24.1.1 體積光 183
    24.1.2 體積光和體積陰影的關繫 183
    24.2 實現體積光 183
    24.2.1 在著色器中表現體積光 183
    24.2.2 腳本的幫助 184
    第25章 材質替代渲染 186
    25.1 相機和渲染消息 186
    25.1.1 相機的渲染消息發送順序 186
    25.1.2 最後能改變Cull操作結果的地方 186
    25.1.3 最後能設置材質數據的地方 187
    25.2 如何使用RenderWithShader方法 187
    25.2.1 標簽值不同的5個著色器 187
    25.2.2 調用RenderWithShader方法的腳本 189
    25.2.3 替換用的5個材質 190
    25.2.4 檢測RenderWithShader方法的效果 191
    25.2.5 使用子著色器組織替代材質 191
    25.2.6 如何設置替代材質的屬性 192
    25.2.7 將結果輸出到屏幕上 192
    25.3 SetReplacementShader和ResetReplacementShader與RenderWithShader方法的異同 193
    第26章 後期效果 194
    26.1 Graphics的兩個方法 194
    26.1.1 與相機渲染方法的不同之處 194
    26.1.2 Blit方法的簡單示例 194
    26.1.3 使用BlitMultiTap方法進行多重采樣 195
    26.2 一個簡單的調色 199
    26.2.1 調色用的腳本 199
    26.2.2 調色用的材質 200
    26.2.3 更高效的做法 201
    26.3 景深 203
    26.3.1 用於模糊圖像的材質 203
    26.3.2 進行縱橫兩次模糊操作 204
    26.3.3 進行混合操作的腳本 204
    26.3.4 進行混合操作的材質 205
    26.3.5 提供一個可調節參數 206
    26.4 輪廓檢測 206
    26.4.1 用腳本獲得場景的Z深度和法線 207
    26.4.2 在材質中進行邊緣檢測 207
    26.5 扭曲 208
    26.5.1 通過UV操作扭曲圖像 208
    26.5.2 限定扭曲的區域 209
    26.5.3 使用物體來做遮罩 210
    26.6 運動模糊 213
    26.6.1 如何記錄運動軌跡 213
    26.6.2 實現運動模糊的材質 213
    26.6.3 用於完成整個過程的腳本 214
    26.6.4 通過Alpha和幀的混合操作實現運動模糊 215
    26.7 噪波 215
    26.7.1 根據Z深度來混合噪波 216
    26.7.2 根據明暗程度來混合噪波 217
    26.8 色彩的溢出 217
    26.8.1 色彩溢出的算法考量 218
    26.8.2 實現色彩溢出的采樣計算 218
    第27章 投影 220
    27.1 Unity的Projector 220
    27.1.1 Projector中材質的執行順序 220
    27.1.2 如何寫Projector使用的材質 220
    27.1.3 控制投影淡進淡出的矩陣 221
    27.2 實現自己的投影 222
    27.2.1 設定投影矩陣的腳本 222
    27.2.2 采樣投影的材質 223
    27.2.3 直接投影到屏幕上 224
    第28章 分割一個物體 225
    28.1 分割一個物體的思路 225
    28.1.1 我們需要什麼樣的信息 225
    28.1.2 腳本的幫助 225
    28.2 在著色器中剪切一個物體 225
    第5篇 著色器的組織和優化
    第29章 著色器的組織和復用 228
    29.1 cginc文件 228
    29.1.1 Unity的UnityCG.cginc文件 228
    29.1.2 定義自己的cginc文件 228
    29.1.3 使用自定義的cginc文件 229
    29.2 通過UsePass來復用通道 229
    29.2.1 定義自己要復用的通道 229
    29.2.2 復用這些通道 230
    29.3 定義著色器的關鍵字 231
    29.3.1 使用關鍵字改變著色器的行為 231
    29.3.2 自定義著色器的關鍵字 231
    29.4 使用multi_compile編譯著色器的多個版本 232
    29.4.1 使用multi_compile實現多次編譯 232
    29.4.2 在腳本中選擇著色器的版本 232
    29.4.3 使用自定義的材質編輯器 233
    29.4.4 MaterialEditor 233
    29.5 Unity對DX11支持所帶來的問題 234
    第30章 基本的渲染概念 236
    30.1 逐頂點計算和逐像素計算 236
    30.1.1 逐頂點計算 236
    30.1.2 逐像素計算 236
    30.1.3 如何在這兩個概念中取舍 236
    30.2 繪制調用的意義 236
    30.2.1 繪制調用的概念 236
    30.2.2 正確理解繪制調用對開發應用的意義 236
    30.2.3 合批的概念和Unity為優化繪制調用所做的工作 237
    30.2.4 優化繪制調用 237
    30.3 利用渲染隊列的技巧 237
    30.3.1 渲染隊列的概念 237
    30.3.2 設置渲染隊列的技巧 237
    第31章 渲染優化 238
    31.1 渲染素 238
    31.2 小型物體的優化 238
    31.3 中型物體的優化 240
    31.4 大型物體的優化 241
    31.5 模型的優化 242
    31.6 地形的優化 243
    31.7 UI的優化 246
    31.8 物理引擎 248
    31.9 慎用後期效果 248
    31.10 慎用透明效果 248
    31.11 其他 248
    31.12 移動平臺的特點 249
    31.12.1 一些指令的運算速度 249
    31.12.2 幾何復雜度 249
    31.12.3 貼圖的問題 249
    31.12.4 數據類型的使用方式 250
    31.12.5 變量的使用 251
    附錄 相關資源 252
    內容虛線

    內容簡介

    size="789x11"

    本書全面講解了Unity Shader渲染的實用技術,分為5篇,共31章。主要內容有著色器的概念和渲染流水線,渲染原理和圖形存儲器,Unity中著色器的形態,著色器中用到的各種空間概念,基本的光照模型,通道,前向渲染路徑,基於光照貼圖的烘焙照明,柔和的低頻照明,各種陰影,通道的通用指令開關,固定流水線,表面著色器,常用的材質,霧的計算,物體的分割,自定義光源,不錯效果,以及著色器的組織和復用,渲染優化等。
    本書適合移動開發者、遊戲開發者、程序員閱讀,也可作為大專院校相關專業的師生用書以及培訓學校的教材。

    "
     
    網友評論  我們期待著您對此商品發表評論
     
    相關商品
    在線留言 商品價格為新臺幣
    關於我們 送貨時間 安全付款 會員登入 加入會員 我的帳戶 網站聯盟
    DVD 連續劇 Copyright © 2024, Digital 了得網 Co., Ltd.
    返回頂部