本書介紹了用GLSL語言進行三維渲染的方法,以及用大量的實例來展示如何進行GLSL編程。本書詳細講述了GLSL渲染流程; GLSL著色器編程;頂點光照;像素光照;卡通渲染、影線渲染、分形渲染、Gooch渲染等非真實感渲染的實現;三維噪聲的生成,以及噪聲在云彩、木頭紋理、大理石等渲染特效中的應用;棋盤、磚墻、Toyball等基于過程的渲染特效的實現;各種特殊光照效果渲染實現;通過GLSL進行圖像處理的算法及實現。本書的特點是以各種渲染實例為核心,通過本書的學習,可以快速掌握GLSL語言的編程。
趙輝老師,清華大學丘成桐數學科學中心訪問教授,哈佛大學計算機系訪問學者。國內**三維技術專家,世界著名華人科學家丘成桐教授的團隊成員。 二十年三維技術、虛擬現實科學研究和開發經驗。具有多年企業界和學術界工作經驗。帶領團隊開發了在國內影響深遠三維模型處理開源軟件MeshDGP。出版了《計算機圖形學-三維建模初步》等一系列三維技術教材和專著,這一系列教材給國內的三維虛擬現實開發提供了學生學習的基礎。前幾年安卓剛起步時候和谷歌合作,指導學生團隊進行安卓開發,其中指導的學生之一進行手機定制桌面APP創業,下載量一個億,融資D輪。趙輝老師和馬云老師一樣,對學生充滿熱情,在過去六年里培養了數百名上千名三維技術虛擬現實領域的學生。帶領了很多三維開發團隊。
第1章GPU與圖形應用編程介紹
1.1GPU發展史與Shader
1.2GLSL Shader編程在圖形設計中的作用
1.3游戲引擎的發展
1.4游戲引擎中的Shader編程
1.5Vulkan介紹
第2章GLSL語言
2.1變量
2.2結構體
2.3修飾符
2.4內置變量
2.5操作符和構造函數
2.6內置函數
第3章GLSL框架設計
3.1加載和編譯
3.2程序架構
3.3著色器簡介
3.4數據傳遞
第4章渲染光照
4.1沒有光照
4.2扁平渲染
4.3最簡單光照
4.4逐頂點光照
4.4.1光照模型
4.4.2參數和步驟
4.4.3代碼和效果
4.5逐像素光照
4.6其他光源類型
4.6.1點光源
4.6.2聚光燈
4.6.3雙面光照
4.7紋理貼圖
第5章非真實感渲染
5.1卡通渲染
5.2影線渲染
5.3Gooch渲染
5.4波爾卡圓點渲染
5.5分形渲染
第6章變形特效
6.1球形變形特效
6.2魚眼特效
第7章噪聲渲染
7.1柏林噪聲
7.2自然材質渲染
第8章基于過程渲染
8.1條紋渲染
8.2磚墻渲染效果
8.3棋盤渲染
8.4ToyBall渲染
8.5網格渲染
第9章光照
9.1半球光照
9.2球形調和光照
第10章圖像處理
10.1概述
10.2亮度、對比度和飽和度
10.3顏色空間轉換
10.3.1介紹
10.3.2RGB和CMY相互轉換
10.3.3RGB和CIE相互轉換
10.4圖像混合
10.5鄰域平滑
10.6高斯平滑
10.7邊緣檢測
10.8銳化
參考資料