1

IDirect3DDevice9 のインスタンスが与えられた場合、それを元のレンダリング状態 (デバイスが最初に作成されたときの状態) にするには、どのような方法がありますか?

私が見つけた最もクリーンな方法は、デバイスが作成された直後に IDirect3DDevice9::CreateStateBlock を介して状態ブロックを作成し、後で適用できるようにすることです。残念ながら、私は既存のプロジェクトの制約の下で操作しているため、デバイス作成コードを変更することはできません。コンポーネントがデバイスを取得するまでに、デフォルトの状態が変更されています。その結果、私は代替アプローチを探しています。

どうも!〜ラフ

4

1 に答える 1

1

100%確実にする方法はありません。ドライバーは、物事をデフォルト状態にできないことがよくあります。ほとんどのソフトウェアは、ドライバーによるこのような問題を回避するために、独自のデフォルト状態を設定します。

ただし、ドライバーが想定どおりに動作するという事実に「頼ることができます」。次に、ドキュメントを読み、すべてのレンダリング状態を想定されるデフォルト値に設定できます。

これを行う他の方法はありません。

于 2010-06-18T07:50:12.473 に答える