Unity3d 頂點著色器傳入的頂點資料

2021-08-28 07:23:34 字數 783 閱讀 1073

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

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

1、float4 vertex:position  頂點位置

2、float3 normal:normal  頂點法線

3、float4 texcoord:texcoord0  第一uv座標

4、float4 texcoord1:texcoord1  第二uv座標

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

6、float4 color: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:當前環境色

頂點著色器 片段著色器

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

HLSL頂點著色器

1.在文字檔案裡編寫頂點著色器 hlsl語言 2.編譯著色器 d3dxcompileshaderfromfile 3.建立頂點著色器 createvertexshader 4.獲取hlsl語言中變數控制代碼 getconstantbyname 5.根據控制代碼給hlsl語言中的變數傳值 id3dxc...

著色器(Shader)之頂點著色器

頂點著色器其實就是我們自己編寫的一段在gpu中執行的程式,有了頂點著色器,我們就可以從固定的功能流水線中代替一些模組,從而獲得更多的頂點操作的靈活性。對於頂點位置進行操作的的能力具有廣泛的應該場合 織物模擬 粒子系統的點尺寸處理等。可程式設計流水線中的頂點結構比固定的流水線具有更加豐富的資料。首先我...