UnityShader自學日誌 線框自發光著色器

2021-08-29 01:54:43 字數 643 閱讀 8249

1、新建乙個無光照著色器(unlit shader),重新命名為「unlit_wire」

2、修改其**如下

shader "packt/unlit_wireframe1" 

subshader

lod 100

//第一遍繪製背面

pass

; //定義了由頂點處理器向片元處理器傳送的資料

struct v2f

;//頂點處理器**

//為模型的頂點計算正確的投影座標,並且把頂點所對應的紋理座標和顏色一起打包傳送給片元處理器**

//片元處理器**

//最終為模型在畫面中覆蓋的畫素計算顏色值

fixed4 frag(v2f i) : color

endcg

} //第二遍繪製正面

pass

;struct v2f

;fixed4 frag(v2f i) : color

endcg

}} fallback "vertex colored", 1

}

ps:對於透明渲染方式來說,必須先繪製距離攝像機較遠的表面,後繪製較近的表面才能獲得正確的透明結果。由於物體的背面一定比正面遠,所以第一遍渲染必須先繪製背面。

UnityShader自學日誌 建立自定義著色器

在 asset 中,建立乙個新的standard su ce shader,在mono或者vs中開啟,將原有的 段全部刪除 加入以下 每行 具體功能如下所示 shader packt moon 指定了該著色器在著色器選單中的名稱 基礎紋理貼圖,2d指定該屬性是乙個二維貼圖 子著色器 subshade...

Unity Shader 詳細自學(三)

pragma target 3.0 表示我們將要對這個著色器使用硬體的 shader model 3.0 的能力,硬體的 shader model 是硬體乙個用於著色處理的基礎的指令範圍和能力,值越高表示能使用越高階的功能,如果沒有使用 pragma target 3.0 這句指令,預設使用的是 s...

《Unity Shader入門精要》自學筆記(一)

shader custom zhudingdian subshader cgprogram float4 diffuse 取用設定中的顏色資訊 pragma vertex vert pragma fragment frag include lighting.cginc struct a2v stru...