ゲーム用の DirectX 11 オーバーレイを作成しています。テクスチャの作成は非常に簡単で、私は C/C++ について十分な知識を持っています。
私が抱えている問題は、テスト ウィンドウでテクスチャを印刷できることですが、カメラの角度を変更するとすぐにテクスチャが移動します。それがほとんどの人が望んでいることです。
私が知りたいのは、カメラが動いているかどうかに関係なく、常に画面に表示されるように 2D で何かを印刷する方法です。
ゲーム用の DirectX 11 オーバーレイを作成しています。テクスチャの作成は非常に簡単で、私は C/C++ について十分な知識を持っています。
私が抱えている問題は、テスト ウィンドウでテクスチャを印刷できることですが、カメラの角度を変更するとすぐにテクスチャが移動します。それがほとんどの人が望んでいることです。
私が知りたいのは、カメラが動いているかどうかに関係なく、常に画面に表示されるように 2D で何かを印刷する方法です。
基本的に、dx11 を使用しているため、シェーダーを使用して要素をレンダリングします。
したがって、標準の 3D オブジェクトは通常、次のガイドラインに従います。
頂点シェーダーでは、すべてのロットを乗算して 3D から 2D に変換します。
必要なのは要素を 2D (カメラに関連しない) で表示することなので、ビュー/投影を考慮しない新しいシェーダーを簡単に作成できるため、頂点シェーダーでこれらのマトリックスを使用しないでください。 . (2D 変換には引き続き world を使用できます)。
これが最も簡単な方法です。ピクセル単位の正確な 2D 要素が必要な場合は、ビルボード トランスフォーム/シェーダーを作成する必要があります。基本的に、レンダー ターゲットの解像度があり、標準のレンダー スペースは -1 -> 1 であるため、スケール/トランスレーションを変更して、これらの両方のスペースの間で変換します。
オーバーレイをレンダリングするときは、深度を完全に無効にすることも確認してください。
サンプルが必要な場合は、すぐに作成しますが、非常に簡単なはずです.