【最大10000ポイント】当たる!!質問投稿キャンペーン!

C言語とDirectXを用いてプログラムを作成しているものです。
プログラムを実行している最中にCNTL+ALT+DELを押下し、キャンセルで元に戻ったとき、ウインドウに表示されていたものがすべて表示されなくなってしまいます。
WIN32APIを用いていたときは同じことをしても問題なく動作していました。
DirectXの場合は何か特別なことをしないといけないのでしょうか?(たとえばテクスチャをロードしなおすとか)
よろしくお願い申し上げます。
OSはWindowsXPSP3、DirectXはNovember2008を使用しています

A 回答 (1件)

DirectXは、該当のウィンドウがフォーカスを失ったり、


非表示になったりして致命的な割り込みが発生した場合、
デバイスが消失生する可能性があります。

その為、通常はPresent(描画)のタイミングでエラーチェックを行い、
デバイスロスト状態であった場合には、デバイスを再作成し、
テクスチャなどのリソースを再読み込みする必要があります。

参考URLにサンプルと、
結構分かりやすい説明が
あるので参考までに。

参考URL:http://marupeke296.com/DXG_No52_DeviceLost.html
    • good
    • 0
この回答へのお礼

早速のご回答ありがとうございました。
結構な修正になりそうですが、頑張ってみます。

お礼日時:2010/12/14 13:38

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


人気Q&Aランキング