OpenGL アプリで接線空間の法線マッピングを実装していますが、いくつか質問があります。
1) 当然、テクスチャ座標が歪んでいる可能性があるため、TBN 行列が常に直交するとは限らないことはわかっています。グラム・シュミット法を使用して再直交化できることを知っています。私の質問はこれです - グラム-シュミット法は目に見えるアーティファクトを導入しますか? 変更されていない純粋な法線/タンジェント/バイタンジェントを使用することで、最高のビジュアル品質が得られますか?
2) 多くのチュートリアルで、ビュー空間ではなく接線空間で照明計算を行っていることに気付きました。どうしてこれなの?遅延レンダラーを使用する予定なので、法線をバッファに保存する必要があります。保存時にビュー スペースにある必要があるという点で正しいですか? 計算でタンジェント スペースの代わりにビュー スペースを使用すると、何が失われますか? ビュー スペースを使用している場合、TBN マトリックスの逆数が必要ですか?
3) フラグメント シェーダーでは、タンジェントとバイタンジェントを再正規化する必要がありますか? 入ってくる (正規化された) バンプ マップの法線を乗算した後、再正規化する必要がありますか? 直交性 (質問 1 を参照) はこれに影響しますか? フラグメント シェーダー内で再正規化する必要がある、または再正規化する必要がないベクトルは?