本文僅為邊學(xué)邊記錄的流水賬。
(資料圖片)
一個簡單的Shader
上述代碼顯示一個白色的球。
此處的POSITON、SV_POSITION等為Unity提供的CG/HLSL語義。
此處的UNITY_MATRIX_MVP,需要億點點數(shù)學(xué)來幫助理解。秉著先試試再說的原則,數(shù)學(xué)留到不得不去理解的時候再系統(tǒng)化學(xué)習(xí),這里只需要知道它做的事情是“把頂點坐標從模型空間轉(zhuǎn)換到裁剪空間中”即可。在新版本中,它總是被自動修復(fù)為UnityObjectToClipPos(v)。
下面演示數(shù)據(jù)在頂點和片元間的傳遞。
上述代碼將顯示一個彩色球
關(guān)于起名字的一些小習(xí)慣,a2v、v2f...
a表示應(yīng)用(application), v表示頂點著色器(vertex shader), a2v的意思就是把數(shù)據(jù)從應(yīng)用階段傳遞到頂點著色器中。同理可得,v2f就是頂點到片元。
添加屬性之后是這樣的。
調(diào)試技巧:幀調(diào)試器(Frame Debugger)左側(cè)樹可以看成事件線,中上滑桿可以看做時間線。
標簽:
要文