1. 程式人生 > >6.計算機圖形學之 Shader2.0 矩陣變換

6.計算機圖形學之 Shader2.0 矩陣變換

Shader2.0 頂點著色器:

  1. 計算頂點的位置變換
  2. 計算頂點的顏色。

Unity3d 裡面的矩陣是左乘(左手座標系)

  1. 將 物體座標系 轉換到 世界座標系
    P(世界) = M(物體到世界)*P(物體)
    規律 : 首先將 物體座標系 變換到 世界座標系。

  2. 將 世界座標系 轉換到 相機座標系。
    P(相機) = M(世界到相機)*P(世界)

C# 編寫:

// 左乘  轉換到世界座標系 
// MultiplyPoint 左乘
Verctor3 posWord = transform.parent.localToWorldMatrix.MultiplyPoint(transform.localPostion)
// 將本物體 轉換到 以本物體父級對應的 世界座標 public GameObject target; // 表示 從 世界 轉換到 對應(target)的父類下的 物體座標系 Verctor3 targetPos = target.transform.worldToLocalMatrix.MultiplyPoint(posWord);

M: 物體座標系 轉換到 世界 座標系
V: 世界座標系 轉換到 相機 座標系
P: 將 3維 座標系 轉換成 2維螢幕座標系(正交投影或透視投影)