Shader相關知識

輸入輸出類型

  頂點着色器的形參是gameObject的meshRenderer組件,將所有的mesh數據按每一幀一次傳遞給OpenGL。這個過程被稱爲一次drawcall。
  頂點着色器可根據語義獲取到的全部mesh信息有
  float4 vertex:POSITION //頂點座標
  float4 tangent:TANGENT //
  float3 normal:NORMAL //表面法向量
  float4 texcoord:TEXCOORD //紋理座標系的第0個座標
  float4 texcoord1:TEXCOORD1 //紋理座標系的第1個座標
  fixed4 color:COLOR //顏色
  應用UnityCG.cginc頭文件,有預先設定好的結構體。其中appdata_full就是以上6個。

頂點座標空間的變換過程

  1. 模型空間(局部空間)
  2. 世界空間
    • 模型空間到世界空間的過程稱爲模型轉換
  3. 觀察空間(攝像機空間),觀察空間也是一個三維空間
    • 頂點座標從世界空間到觀察空間的變換稱爲觀察變換
  4. 裁剪空間
    • 裁剪空間的目標是能夠方便地對渲染圖元進行裁剪:完全位於這塊空間內的圖元會被保留,完全位於空間外的圖元會被剔除,與空間相交的圖元會被裁剪。裁剪空間的形式與投影方式有關,投影方式包括正交投影和透視投影
  5. 屏幕空間
    • 屏幕空間是二維的,是真正的像素位置。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章