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

Shader開發(fā)實戰(zhàn)

Shader開發(fā)實戰(zhàn)

定 價:¥98.00

作 者: [英] 凱爾·哈拉迪(Kyle Halladay) 著
出版社: 清華大學(xué)出版社
叢編項:
標 簽: 暫缺

ISBN: 9787302583349 出版時間: 2021-07-01 包裝: 平裝
開本: 16開 頁數(shù): 316 字數(shù):  

內(nèi)容簡介

  主要內(nèi)容: ·了解什么是著色器以及它們的工作原理 ·迅速深入編寫頂點著色器和片元著色器技術(shù) ·使用顏色混合,并了解混合方程式的工作原理 ·了解渲染實時計算機圖形時使用的坐標空間 ·使用簡單的數(shù)學(xué)運算為角色設(shè)置動畫、模擬燈光以及創(chuàng)建多種視覺效果 ·查找并修復(fù)著色器中的性能問題 .了解三種流行的游戲引擎(Unity、UE4和Godot)使用著色器的方式

作者簡介

  Kyle Halladay是一名職業(yè)游戲程序員,居住在美國芝加哥市。在為游戲和建筑可視化編寫著色器和構(gòu)建圖形技術(shù)方面,Kyle擁有七年以上的工作經(jīng)驗。

圖書目錄

目 錄


第1章 初識游戲圖形 1
1.1 什么是渲染 1
1.2 網(wǎng)格是什么 2
1.3 向量入門 3
1.4 在計算機圖形學(xué)中定義顏色 7
1.5 渲染管線 8
1.6 著色器是什么 10
1.7 小結(jié) 11
第2章 第一個著色器 13
2.1 在Windows上安裝 13
2.2 創(chuàng)建項目 14
2.3 創(chuàng)建第一個三角形 15
2.4 第一個頂點著色器 17
2.4.1 #version預(yù)處理器指令 18
2.4.2 GLSL的in關(guān)鍵字 18
2.4.3 GLSL的vec數(shù)據(jù)類型 18
2.4.4 寫入gl_Position 19
2.4.5 歸一化的設(shè)備坐標 19
2.5 第一個片元著色器 20
2.6 在項目中使用著色器 21
2.7 使用頂點屬性添加顏色 23
2.8 片元插值介紹 25
2.9 統(tǒng)一變量介紹 26
2.10 小結(jié) 28
第3章 使用紋理 29
3.1 創(chuàng)建四邊形 30
3.2 UV坐標介紹 32
3.3 在著色器中使用紋理 35
3.4 滾動UV坐標 38
3.5 使用統(tǒng)一變量調(diào)節(jié)亮度 41
3.6 基本的顏色數(shù)學(xué) 44
3.7 使用mix指令混合紋理 47
3.8 小結(jié) 50
第4章 半透明與深度 51
4.1 設(shè)置示例項目 52
4.2 繪制小綠人 52
4.3 alpha測試和丟棄 54
4.4 使用深度測試構(gòu)建場景 55
4.5 使用alpha混合創(chuàng)建云朵 57
4.6 GLSL的min()函數(shù)和max()函數(shù) 59
4.7 alpha混合的工作原理 60
4.8 使用加法混合添加太陽光 62
4.9 使用精靈表制作動畫 66
4.10 小結(jié) 68
第5章 使物體動起來 71
5.1 讓角色向前走 72
5.2 在著色器代碼中縮放云朵 74
5.3 使用頂點著色器旋轉(zhuǎn)物體 78
5.4 變換矩陣 81
5.5 為變換矩陣添加動態(tài) 84
5.6 單位矩陣 88
5.7 小結(jié) 89
第6章 攝像機和坐標 91
6.1 使用視圖矩陣 91
6.2 變換矩陣和坐標空間 95
6.3 攝像機視錐體和投影 100
6.4 小結(jié) 103
第7章 第一個3D項目 105
7.1 加載網(wǎng)格 105
7.2 創(chuàng)建透視攝像機 107
7.3 小結(jié) 110
第8章 漫反射光照 111
8.1 使用法線平滑(smooth)著色與平面(flat)著色 113
8.2 世界空間法線和swizzle 115
8.3 法線矩陣 116
8.4 為什么光照計算需要法線 117
8.5 什么是點積 118
8.6 點積著色 119
8.7 第一個平行光 121
8.8 創(chuàng)建輪廓光照效果 124
8.9 小結(jié) 129

第9章 第一個光照模型 131
9.1 鏡面光照 131
9.2 第一個鏡面著色器 133
9.3 組合漫反射和鏡面反射光照 135
9.4 環(huán)境光照 136
9.5 Phong光照模型 138
9.6 Blinn-Phong光照 139
9.7 使用紋理控制光照 141
9.8 小結(jié) 144
第10章 法線貼圖 147
10.1 什么是法線貼圖 148
10.2 切線空間 149
10.3 使用切線向量 150
10.4 叉積 151
10.5 法線貼圖的工作原理 152
10.6 編寫水面著色器 155
10.7 法線貼圖的更多信息 161
10.8 小結(jié) 162
第11章 立方體貼圖和天空盒 163
11.1 什么是立方體貼圖 163
11.2 在openFrameworks中加載立方體貼圖 164
11.3 在立方體上渲染立方體貼圖 165
11.4 天空盒 168
11.5 透視除法 170
11.6 天空盒和透視除法 170
11.7 完成天空盒 171
11.8 創(chuàng)建立方體貼圖反射 172
11.9 立方體貼圖的更多內(nèi)容 174
11.10 小結(jié) 175
第12章 深入光照 177
12.1 定向光源 177
12.2 點光源 178
12.3 聚光燈 184
12.4 多光源 190
12.5 更靈活的多光源設(shè)置方法 196
12.6 更進一步 201
12.7 小結(jié) 202
第13章 剖析著色器性能 203
13.1 如何衡量性能 203
13.2 CPU時間與GPU時間 204
13.3 解決VSync(垂直同步) 204
13.4 設(shè)置評測用的計算機 207
13.5 剖析實踐 208
13.6 Nsight Graphics介紹 210
13.7 我們是受CPU還是GPU限制 212
13.8 捷徑 215
13.9 跟蹤問題著色器 215
13.10 小結(jié) 218
第14章 優(yōu)化著色器 221
14.1 將計算移至頂點著色器 221
14.2 避免動態(tài)分支 223
14.3 使用MAD 225
14.4 優(yōu)先使用GLSL函數(shù)而不是自己編寫的函數(shù) 226
14.5 使用Write Mask(寫掩碼) 227
14.6 避免不必要的overdraw(過度繪制) 228
14.7 最終想法 229
14.8 小結(jié) 229
第15章 精度 231
15.1 什么是浮點精度 231
15.2 案例研究:時間軸動畫 234
15.3 使用低精度變量 238
15.4 案例研究:點光源問題 239
15.5 小結(jié) 242
第16章 在Unity中編寫著色器 243
16.1 Unity中的著色器和材質(zhì) 243
16.2 ShaderLab簡介 244
16.3 純色著色器 246
16.4 移植Blinn-Phong著色器 251
16.5 Unity中的半透明著色器 257
16.6 處理多個光源 258
16.7 將數(shù)據(jù)從C#傳遞到著色器代碼 262
16.8 下一步、ShaderGraph和未來 263
16.9 小結(jié) 263
第17章 在UE4中編寫著色器 265
17.1 著色器、材質(zhì)和實例 265
17.2 使物體變紅 268
17.3 UE4 Material Node Graph基礎(chǔ) 270
17.4 制作邊緣光材質(zhì) 272
17.5 Default Lit材質(zhì)輸入 274
17.6 頂點著色器還是片元著色器 275
17.7 使用不同的著色模型 278
17.8 混合模式和紋理采樣節(jié)點 279
17.9 將數(shù)據(jù)從代碼傳遞到材質(zhì) 280
17.10 所有這些與著色器代碼有何關(guān)聯(lián) 280
17.11 小結(jié) 281
第18章 在Godot中編寫著色器 283
18.1 著色器和材質(zhì) 283
18.2 Godot著色語言 285
18.3 片元著色器輸出變量 287
18.4 制作自定義邊緣光著色器 288
18.5 自定義頂點著色器 292
18.6 UV動畫 292
18.7 半透明著色器和混合模式 293
18.8 將數(shù)據(jù)從代碼傳遞到著色器 295
18.9 未來:可視化著色器編輯 295
18.10 小結(jié) 296
附錄A 重要代碼片段 297
A.1 計算網(wǎng)格的切線 297
A.2 ofxEasyCubemap類 298

本目錄推薦

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