好久沒寫部落格了,研究了一段時間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...