「法線マッピング」を編集中
ナビゲーションに移動
検索に移動
この編集を取り消せます。 下記の差分を確認して、本当に取り消していいか検証してください。よろしければ変更を保存して取り消しを完了してください。
最新版 | 編集中の文章 | ||
13行目: | 13行目: | ||
== 値変換 == | == 値変換 == | ||
− | 一般的な[[プログラマブルシェーダー]] | + | 一般的な[[プログラマブルシェーダー]]には法線マップ専用の受け口はない。 |
− | + | そのため法線マップは[[テクスチャマップ]]に変換して[[シェーダー]]に渡すことになる。 | |
− | |||
− | + | 法線ベクトルは「[[クリップスペース座標]]」で表され、「-1.0から1.0」の範囲の「[[正規化]]」された値である。 | |
− | |||
− | + | 一方、[[テクスチャ]]の[[RGB]]の[[データ]]は「0.0から1.0」の範囲となっている。このためテクスチャとして[[ファイル]]や[[メモリ]]に保持する際には以下のような変換を行う必要がある。 | |
格納値 = (法線 + 1.0) * 0.5 | 格納値 = (法線 + 1.0) * 0.5 | ||
− | + | [[プログラマブルシェーダー]]内で再び法線ベクトルに戻して利用する際には以下のような変換を行う。 | |
法線 = 2.0 * 格納値 - 1.0; | 法線 = 2.0 * 格納値 - 1.0; | ||