unity shader 的學習筆記 float4

2021-08-19 16:41:04 字數 1120 閱讀 6568

正在學習關於unity shader,其中我自己總結了一些自己不懂的東西

1、float fixed

float : 常見的寫法有 float4 和 float3

float3 : 一般情況下我們指的是向量,例如 :float3 normal :normal

float4 : 對那些需要操作的頂點用 float4 來表示 ,例如 : float4 vertex : position

那麼我們為什麼用float4來表示我們想要的頂點呢?

在unity內部,通過矩陣的方式來描述這些點,一般情況下我們覺得 3*3的矩陣就能夠描述乙個點了,但是這樣的點是沒有辦法進行變換的 : 旋轉、縮放還有平移。

因此我們需要擴散到乙個齊次座標空間

因此對於點的變化我們用float4來表示

還有一種理解方式:鏈結內容

1、點,用vector4表示就是(x,y,z,1)。*

2、向量,用vector4表示就是(x,y,z,0)。

那麼,向量是兩個點相減組成,得到:

(x1,y1,z1,1)- (x2,y2,z2,1) = (x1 - x2, y1 - y2,z1 - z2,0)

就可以表示兩個點相減是乙個向量。

如果用vector3表示乙個點的話,就不知道兩個點相減是什麼了。

然後我們再來看看shaderlab屬性型別和cg變數型別的匹配關係

shaderlab屬性型別

c個變數型別

color、vector

float4,half4,fixed4

range、float

float, half, fixed

2dsampler2d

3dsampler3d

cube

samplercube

這樣就能理解為什麼使用float4型別了。

unity shader 學習筆記

upgrade note replaced world2object with unity worldtoobject upgrade note replaced mul unity matrix mvp,with unityobjecttoclippos shader unity shader b...

unity shader學習總結一

學習unity shader有兩個月了,最近的兩個月總是有一些工程專案,占用我大量的學習時間,因此總是停停學學。今天虛擬校園工程開好完成了,就有時間吧自己學到的shader,總結一下。這是兩個 jianbian紋理 實現的效果如下 如下 shader custom katongmylihmodel ...

Unity Shader學習1 簡述

一 什麼是shader shader,就是著色器,是一種執行在 gpu 上的程式。gpu programmable graphics processing unit,即可程式設計圖形處理單元,也稱為可程式設計圖形硬體。至於 gpu 上的程式設計,實質上就是 gpu 允許應用程式指定乙個序列的指令進行...