質問
は、学習経験として、私は、DirectX 9アプリケーションの管理即時モードを書いています。
私は手動でスムーズなグローシェーディングを許可するようにシーン内のすべての三角形間で頂点の法線を計算しています。
予想通りこれは動作しますが、私はこれが最も効率的なアプローチではありません推測しています。私のためにこれを行うにはGPUを取得することが可能ですか?
他のヒント
あなたは理論的には頂点シェーダ内の頂点法線を生成することができます。それはあなたががそのシェーダを使用してメッシュをレンダリングするひとつひとつの時間の計算を必要とするので、なぜ事前にそれらを生成しません。
あなたは、レンダリングの前にそれらを生成するが、CPUの代わりにGPUを使用する意味場合は、、私はそれはあなたが一度だけやろうとしている何かを高速化する気に価値はないと言うでしょう。 DX9シェーダー(DX10はありません)。
から戻って計算された頂点情報を取得する方法を持っている場合以外にも、私はわかりません メッシュを含むデータファイルを保存するプログラムで計算頂点法線 - 事前計算ステップとしてそれを実行します。すべてのすべてで、ほとんどの場合に行うための最善のことは、伝統的です。通常、法線で芸術的な情報があるので、メッシュは、MaxまたはMayaのような3Dパッケージから来た場合は、メッシュ全体が完全に滑らかな(またはファセット)ことになっている知っている限り、あなたは、それらを持っている、それが一般的なケースでは計算可能ではありませんます。
所属していません StackOverflow