質問: directxプログラムでcntl+alt+del c言語とdirectxを用いてプログラムを作成しているものです。 プログラムを実行している最中にcntl+alt+delを押下し、キャンセルで元に戻ったとき、ウインドウに表示されていたものがすべて表示されなくなってしまいます。 win32apiを用いていたときは同じことをしても問題なく動作していました。 directxの場合は何か特別なことをしないといけないのでしょうか?(たとえばテクスチャをロードしなおすとか) よろしくお願い申し上げます。 osはwindowsxpsp3、directxはnovember2008を使用しています
回答: directxは、該当のウィンドウがフォーカスを失ったり、 非表示になったりして致命的な割り込みが発生した場合、 デバイスが消失生する可能性があります。 その為、通常はpresent(描画)のタイミングでエラーチェックを行い、 デバイスロスト状態であった場合には、デバイスを再作成し、 テクスチャなどのリソースを再読み込みする必要があります。 参考urlにサンプルと、 結構分かりやすい説明が あるので参考までに。 参考url:http://marupeke296.com/dxg_no52_devicelost.html