「逆転置行列」の版間の差分

提供:MonoBook
編集の要約なし
編集の要約なし
 
12行目: 12行目:
</source>
</source>


[[category: 行列]]
[[category: 3DCG]]
[[category: 3DCG]]

2024年8月21日 (水) 05:40時点における最新版

逆転置行列(inverse transpose)とは、ある行列逆行列にし、さらに転置行列にしたものです。

 float4x4 worldInverseTranspose = transpose(inverse(wolrd));

主に頂点データの法線ワールド座標変換する際に使用されます。 以下の例ではメモリアライメントの調整が面倒なのでfloat4の法線とfloat4x4のワールド座標の逆転置行列を使用しています。

 float4 normalModelSpace = float4(vin.Normal, 0.0);
 float3 normalWorldSpace = normalize((normalModelSpace * params.WorldInverseTranspose).xyz);