課程介紹:
Shader在游戲中的作用非常重要,然而學(xué)習(xí)shader的路卻不是那么容易,它涉及到方方面面的知識(shí)和基礎(chǔ), 比如:3D數(shù)學(xué),計(jì)算機(jī)圖形學(xué)甚至硬件。很多朋友為了達(dá)到一種特別的功能,往往在互聯(lián)網(wǎng)上四處搜索別人的shader,最后卻找不到適合自己需求的東西。與其糾結(jié)在無(wú)法理解和改良別人shader的痛苦中,不如放棄盲目和被動(dòng),轉(zhuǎn)而從頭學(xué)習(xí)這種“代碼的藝術(shù)”。
本教程“授人以漁”,為大家?guī)?lái)零起點(diǎn)的shader教學(xué),從圖形硬件的發(fā)展史開始,講GPU可編程管線,講現(xiàn)代shader language的發(fā)展歷程,讓大家能從一個(gè)縱深的過程中宏觀的了解這種技術(shù)的前世今生。教程以Unity引擎為環(huán)境 ,重點(diǎn)放在Cg語(yǔ)言的學(xué)習(xí)和經(jīng)典光照的計(jì)算上。 為了突破難點(diǎn),作者鋪助了大量圖文課件進(jìn)行講解3D數(shù)學(xué)和圖形學(xué)知識(shí),手把手在unity環(huán)境下進(jìn)行逐行代碼的coding教學(xué),期望幫助大家進(jìn)入Shader編程的大門,最終能在實(shí)際的工程實(shí)踐中有些創(chuàng)造和創(chuàng)新。
課程大綱:
- 初級(jí)課時(shí)
- 圖形硬件簡(jiǎn)史與可編程管線
- Shader和渲染管線
- 三大主流編程語(yǔ)言 HLSL/GLSL/ Cg
- Unity shader 的組織形式 (Shaderlab)
- 固定管線shader (Fixed function shader)_1
- 固定管線shader (Fixed function shader)_2
- Surface shader 1
- Surface shader 2
- Cg 語(yǔ)言入門 1 輸入輸出和語(yǔ)義
- Cg 語(yǔ)言入門 3 profile和基本數(shù)據(jù)類型
- Cg 語(yǔ)言入門 4數(shù)據(jù)類型和swizzle操作
- Cg 語(yǔ)言入門 5流程控制
- Cg 語(yǔ)言入門 6Cg 函數(shù) 1
- Cg 語(yǔ)言入門 6Cg 函數(shù) 2
- 3D數(shù)學(xué)基礎(chǔ) 1 – 坐標(biāo)系
- 3D數(shù)學(xué)基礎(chǔ) 2 – 向量
- 3D數(shù)學(xué)基礎(chǔ) 3 – 矩陣
- 3D數(shù)學(xué)基礎(chǔ) 4 – 矩陣和行列式
- 3D數(shù)學(xué)基礎(chǔ) 5 – 矩陣的逆
- 3D數(shù)學(xué)基礎(chǔ) 6 – 矩陣和變換
- 3D數(shù)學(xué)基礎(chǔ)實(shí)例- C# 矩陣變換與三維渲染 1
- 3D數(shù)學(xué)基礎(chǔ)實(shí)例- C# 矩陣變換與三維渲染 2
- 3D數(shù)學(xué)基礎(chǔ)實(shí)例- C# 矩陣變換與三維渲染 3
- 3D數(shù)學(xué)基礎(chǔ)實(shí)例- C# 矩陣變換與三維渲染 4
- 3D數(shù)學(xué)基礎(chǔ)實(shí)例- C# 矩陣變換與三維渲染 5
- 3D數(shù)學(xué)基礎(chǔ)實(shí)例- C# 矩陣變換與三維渲染 6
- Vertex Shader – 頂點(diǎn)數(shù)據(jù)的輸入與輸出 1
- Vertex Shader – 頂點(diǎn)數(shù)據(jù)的輸入與輸出 2
- Vertex Shader – 更好的數(shù)據(jù)組織方式struct
- Vertex Shader – Uniform 與 properties屬性
- Vertex Shader – 幾何變換 —MVP矩陣變換 1
- Vertex Shader – 幾何變換 —MVP矩陣變換 2
- Vertex Shader – 幾何變換 —頂點(diǎn)顏色變換 1
- Vertex Shader – 幾何變換 —頂點(diǎn)顏色變換 2
- Vertex Shader – 幾何變換 —頂點(diǎn)位移
- Vertex Shader – 幾何變換 —扭曲
- Vertex Shader – 幾何變換 —波
- 圖形學(xué)入門 – 法向量與光照
- 基礎(chǔ)實(shí)例 – C# 光照渲染 1
- 基礎(chǔ)實(shí)例- C# 光照渲染 2
- 基礎(chǔ)實(shí)例- C# 光照渲染 3
- 基礎(chǔ)實(shí)例- C# 光照渲染 4
- 圖形學(xué)入門 – 實(shí)現(xiàn)漫反射 Diffuse shader 1
- 圖形學(xué)入門 – 實(shí)現(xiàn)漫反射 Diffuse shader 2
- 圖形學(xué)入門 – 反射向量與Cg reflect函數(shù)
- 圖形學(xué)入門 – 實(shí)現(xiàn)phong 光照
- 圖形學(xué)入門 – 半角向量與BlinnPhong
- Fragment shader – 片段級(jí)光照 1
- Fragment shader – 片段級(jí)光照 2
- Fragment shader – 片段級(jí)光照 3
- Fragment shader – 片段顏色混合
- Fragment shader – 邊緣泛光shader 1
- Fragment shader – 邊緣泛光shader 2
- Fragment shader – 片段級(jí)模型動(dòng)態(tài)變色 1
- Fragment shader – 片段級(jí)模型動(dòng)態(tài)變色 2
- Fragment shader – 片段級(jí)模型動(dòng)態(tài)變色 3
- Fragment shader – 2D紋理采樣 1
- Fragment shader – 2D紋理采樣 2
- Fragment shader – 2D紋理采樣 3
- Fragment shader – UV動(dòng)畫 1
- Fragment shader – UV動(dòng)畫 2
- Fragment shader – UV動(dòng)畫 3
- Fragment shader –紋理混合動(dòng)畫 1
- Fragment shader –紋理混合動(dòng)畫 2
- Fragment shader – 程序紋理
- Fragment shader – 程序紋理水波仿真1
- Fragment shader – 程序紋理水波仿真2
- Fragment shader – 程序紋理水波仿真3
- Fragment shader – 程序紋理水波仿真4
- Fragment shader – Alpha 與 blend 運(yùn)算
- Fragment shader 7 – 實(shí)現(xiàn)半透明著色 1
- Fragment shader 7 – 實(shí)現(xiàn)半透明著色 2
- Fragment shader – 紋理法線與凹凸貼圖 1
- Fragment shader – 紋理法線與凹凸貼圖 2
- Fragment shader – 紋理法線與凹凸貼圖 3
- Fragment shader – 紋理法線與凹凸貼圖 4
- Fragment shader – Cube紋理采樣
- Fragment shader – 實(shí)現(xiàn)高效的reflection shader