Unity3d 頂點和片段著色器學習筆記

2021-07-14 23:51:58 字數 726 閱讀 4390

一、cg頂點程式必須在結構中傳遞頂點資料。幾種常用的頂點結構定義在檔案unitycg.cginc中。在大部分情況下僅僅使用它們就夠了。結構如下:

二、如果你想訪問個別的頂點資料,你必須自己宣告頂點結構。結構中的成員必須是屬於以下列表中的:

1、float4 vertex:頂點位置

2、float3 normal:頂點法線

3、float4 texcoord:第一uv座標

4、float4 texcoord1:第二uv座標

5、float4 tangent:切線向量(用在法線貼圖中)

6、float4 color:每個頂點(per-vertex)顏色

三、內建矩陣

1、unity_matrix_mvp:當前模型*視*投影矩陣。(注:模型矩陣為 本地->世界)

2、unity_matrix_mv:當前模型*檢視矩陣

3、unity_matrix_v:當前檢視矩陣

4、unity_matrix_p:當前投影矩陣

5、unity_matrix_vp:當前檢視*投影矩陣

6、unity_matrix_t_mv:轉置模型*檢視矩陣

7、unity_matrix_it_mv:逆轉置模型*視矩陣

8、unity_matrix_texture0 to unity_matrix_texture3:紋理變換矩陣

四、內建向量

1、unity_lightmodel_ambient:當前環境色

Unity3d 頂點和片段著色器學習筆記

一 cg頂點程式必須在結構中傳遞頂點資料。幾種常用的頂點結構定義在檔案unitycg.cginc中。在大部分情況下僅僅使用它們就夠了。結構如下 二 如果你想訪問個別的頂點資料,你必須自己宣告頂點結構。結構中的成員必須是屬於以下列表中的 1 float4 vertex 頂點位置 2 float3 no...

頂點著色器 片段著色器

一 著色器 著色器只是一種把輸入轉化為輸出的程式。著色器也是一種非常獨立的程式,因為它們之間不能相互通訊 它們之間唯一的溝通只有通過輸入和輸出。在最簡配置下,至少都得有兩個著色器 乙個叫頂點著色器 vertex shader 它將作用於每個頂點上 另乙個叫片段著色器 fragment shader ...

著色器 unity3d教程

unity3d教程手冊 如下圖所示,在project面板中新建乙個new material.這樣子就準備好了乙個空白的著色器。它能支援的型別也就在shader中全部顯示出來。不得不說,很好很強大。所有這些pixel 畫素 著色器,預設的diffuse算是資源開銷較小的渲染選擇。隨後那些帶有凹凸貼圖的...