「法線マッピング」の版間の差分

編集の要約なし
 
(同じ利用者による、間の1版が非表示)
13行目: 13行目:


== 値変換 ==
== 値変換 ==
一般的な[[プログラマブルシェーダー]]には法線マップ専用の受け口はない。
一般的な[[プログラマブルシェーダー]]には法線マップ専用の受け口などない。
そのため法線マップは[[テクスチャマップ]]に変換して[[シェーダー]]に渡すことになる。
「なんたらマップ」の受け口は一律でテクスチャマップの受け口を利用することになる。
 
つまり法線マップも[[テクスチャマップ]]に変換して[[シェーダー]]に渡すことになる。
法線ベクトルは「[[クリップスペース座標]]」で表され、「-1.0から1.0」の範囲の「[[正規化]]」された値である。


法線は「[[クリップスペース座標]]」で表され「-1.0から1.0」の範囲の「[[正規化]]」された値である。
一方、[[テクスチャ]]の[[RGB]]の[[データ]]は「0.0から1.0」の範囲となっている。
一方、[[テクスチャ]]の[[RGB]]の[[データ]]は「0.0から1.0」の範囲となっている。


23行目: 23行目:
  格納値 = (法線 + 1.0) * 0.5
  格納値 = (法線 + 1.0) * 0.5


[[プログラマブルシェーダー]]内で再び法線ベクトルに戻して利用する際には以下のような変換を行う。
この格納値を[[プログラマブルシェーダー]]内で再び法線ベクトルに戻して利用する際には以下のような変換を行う。
  法線 = 2.0 * 格納値 - 1.0;
  法線 = 2.0 * 格納値 - 1.0;