Shader學習整理

2021-07-08 12:54:08 字數 865 閱讀 1730

好久沒寫部落格了,研究了一段時間shader,整理一下

unity的shader包含三種,固定渲染管線,cg片段,su***ce表面著色器,unity推薦su***ce表面著色器,寫起來簡單,很多東西unity都做好了,

實際中往往看具體需求而定,一般選cg片段和su***ce表面著色器。然而不管怎麼說,基礎理論才是重點。

看到很多人一上來就拿起shader啃,然而總是看的一頭霧水。尤其是unity中有本 書《shaderlab實戰詳解》,如果沒有圖形基礎理論,看起來很累。

完全搞不懂說的什麼,並不是黑這本書,這本書其實很不錯,然而不適合初學者。這本書的閱讀者應該是熟悉圖形學,只是想轉戰unity shader的人更適合。

裡面的很多實驗都是在驗證或探索某個理論。技術實現上隱藏了很多圖形學的知識。所以建議是有一定圖形學基礎知識後再看這本書,一定能受益良多。

1.三角函式 向量(初高中數學知識)

2.行列式 矩陣(線性代數)

3.3d數學基礎(書籍 《3d數學基礎:圖形與遊戲開發》中英文版本對照著看)

4.cg基礎理論(書籍 《cg教程_可程式設計實時圖形權威指南》中英文版本對照著看)

5.unity shader基礎(官方文件)

7.unity 案例實戰(《shaderlab實戰詳解》例子豐富,需要一定的基礎理論)

一些學習**及部落格

1.unity官方論壇

2.風宇衝 shader講解(淺顯易懂)

3.潛水的小男貓(例子較多,配合實戰)

4.candycat shader(配合 unity著色器和螢幕特效開發秘籍 這本書很不錯 shadertoy很有深度哦)

5.opengl教程

6.其他一些學習資源參考這篇文章

shader外掛程式

Shader其他整理

1 culling陰影面剔除 culling陰影面剔除是一種優化技術。所有的多邊形都有正反兩面,而你永遠只能看見其中一面,不信的話拿張紙板或者一面鏡子看看你能不能同時看到兩面。通常多邊形面向螢幕裡面的背面,我們看不見,所以會將該面剔除。cull off 關閉陰影面剔除 cull back 剔除背面 ...

Shader學習筆記

direct和opengl兩種程式設計標準,前者是微軟提供的,一般用於windows平台,而後者是linux android ios等都共同支援的標準。由這兩種標準就衍生出來了集中gpu程式語言,諸如hlsl cg glsl等,在unity裡面,並不直接使用者三種語言去編寫,而是用自己自定義的sha...

shader 例子學習

struct su ceoutput background 最早被呼叫的渲染,用來渲染天空盒或者背景 geometry 這是預設值,用來渲染非透明物體 普通情況下,場景中的絕大多數物體應該是非透明的 alphatest 用來渲染經過alpha test的畫素,單獨為alphatest設定乙個queu...