预购商品
书目分类
特别推荐
填補Unity Shader 和繪製管線之間的知識鴻溝,對Unity繪製機制的工作原理進行詳細剖析,配合大量實例讓希望更加深入學習的讀者,可以在提供的資料中找到更多的學習內容。 本書特色 ■ 內容獨特 填補Unity Shader 和繪製管線之間的知識鴻溝,對Unity一些繪製機制的工作原理進行詳細剖析,幫助讀者解決「是什麼」、「為什麼」、「怎麼做」這3個基本問題。配合大量實例,讓讀者在實作中逐漸掌握UnityShader 的撰寫。 ■ 結構連貫 從基礎到進階再到深入的說明,解決讀者學習的困擾。 ■ 充分針對初學者 撰寫過程中,一直思考這麼寫讀者能不能看懂?因此,提供大量的圖示並配合文字說明,部份章節提供「答疑解惑」來解釋初學者經常遇到的問題。 ■ 包含Unity 5 在繪製方面的新內容 多次介紹Unity 5 中的新工具頁框偵錯器(Frame Debugger),並借助該工具的幫助來了解Unity中的繪製過程 ■ 補充大量延伸閱讀資料 在部分章節提供「擴充閱讀」,讓希望更加深入學習的讀者可以在提供的資料中找到更多的學習內容。
第1 章 歡迎來到Shader 的世界 1.1 程式設計師的三大浪漫 1.2 本書結構 第2 章 繪製管線 2.1 整體說明 2.2 CPU 和GPU 之間的通訊 2.3 GPU 管線 2.4 一些容易困惑的地方 2.5 你明白Shader 了嗎 2.6 擴充閱讀 第3 章 Unity Shader 基礎 3.1 Unity Shader 概述 3.2 Unity Shader 的基礎:ShaderLab 3.3 Unity Shader 的結構 3.4 Unity Shader 的形式 3.5 本書使用的Unity Shader形式 3.6 答疑解惑 3.7 擴充閱讀 第4 章 學習Shader 所需的數學基礎 4.1 背景:農場遊戲 4.2 笛卡兒座標系 4.3 點和向量 4.4 矩陣 4.5 矩陣的幾何意義:轉換 4.6 座標空間 4.7 法線轉換 4.8 Unity Shader 的內建變數(數學篇) 4.9 答疑解惑 4.10 擴充閱讀 4.11 練習題解答 02 初級篇 第5 章 開始Unity Shader 學習之旅 5.1 本書使用的軟體和環境 5.2 一個最簡單的頂點/ 片段著色器 5.3 強大的援手:Unity 提供的內建檔案和變數 5.4 Unity 提供的Cg/HLSL 語義 5.5 程式設計師的煩惱:Debug 5.6 小心:繪製平台的差異 5.7 Shader 整潔之道 5.8 擴充閱讀 第6 章 Unity 中的基礎光源 6.1 我們是如何看到這個世界的 6.2 標準光源模型 6.3 Unity 中的環境光和自發光 6.4 在Unity Shader 中實現漫射光源模型 6.5 在Unity Shader 中實現高光反射光源模型 6.6 召喚神龍:使用Unity 內建的函數 第7 章 基礎紋理 7.1 單張紋理 7.2 凹凸對映 7.3 漸層紋理 7.4 隱藏紋理 第8 章 透明效果 8.1 為什麼繪製順序很重要 8.2 Unity Shader 的繪製順序 8.3 透明度測試 8.4 透明度混合 8.5 開啟深度寫入的半透明效果 8.6 ShaderLab 的混合指令 8.7 雙面繪製的透明效果 03 中級篇 第9 章 更複雜的光源 9.1 Unity 的繪製路徑 9.2 Unity 的光源類型 9.3 Unity 的光源衰減 9.4 Unity 的陰影 9.5 本書使用的標準Unity Shader 第10 章 進階紋理 10.1 立方體紋理 10.2 繪製紋理 10.3 程式紋理 第11 章 讓畫面動起來 11.1 Unity Shader 中的內建變數(時間篇) 11.2 紋理動畫 11.3 頂點動畫 04 高級篇 第12 章 螢幕後製處理效果 12.1 建立一個基本的螢幕後製處理指令稿系統 12.2 調整螢幕的亮度、飽和度和比較度 12.3 邊緣檢測 12.4 高斯模糊 12.5 Bloom 效果 12.6 運動模糊 12.7 擴充閱讀 第13 章 使用深度和法線紋理 13.1 取得深度和法線紋理 13.2 再談運動模糊 13.3 全域霧效 13.4 再談邊緣檢測 13.5 擴充閱讀 第14 章 非真實感繪製 14.1 卡通風格的繪製 14.2 素描風格的繪製 14.3 擴充閱讀 14.4 參考文獻 第15 章 使用雜訊 15.1 消融效果 15.2 水波效果 15.3 再談全域霧效 15.4 擴充閱讀 15.5 參考文獻 第16 章 Unity 中的繪製最佳化技術 16.1 行動平台的特點 16.2 影響效能的因素 16.3 Unity 中的繪製分析工具 16.4 減少draw call 數目 16.5 減少需要處理的頂點數目 16.6 減少需要處理的片段數目 16.7 節省頻寬 16.8 減少計算複雜度 16.9 擴充閱讀 05 擴充篇 第17 章 Unity 的表面著色器探秘 17.1 表面著色器的實例 17.2 編譯指令 17.3 兩個結構 17.4 Unity 背後做了什麼 17.5 表面著色器實例分析 17.6 Surface Shader 的缺點 第18 章 以實體為基礎的繪製 18.1 PBS 的理論和數學基礎 18.2 Unity 5 的Standard Shader 18.3 一個更加複雜的實例 18.4 答疑解惑 18.5 擴充閱讀 18.6 參考文獻 第19 章 Unity 5 更新了什麼 19.1 場景「更亮了」 19.2 表面著色器更容易「顯示出錯了」 19.3 當家做主:自己控制非統一縮放的網格 19.4 固定管線著色器逐漸退出舞台 第20 章 還有更多內容嗎 20.1 如果你想深入了解繪製 20.2 世界那麼大 20.3 參考文獻
作者簡介 馮樂樂 上海交通大學軟體學院研究生,愛好寫shader,喜歡一切用電腦繪畫的技術。
客服公告
热门活动
订阅电子报