2012-04-04 13 views
0

このプログラムを作成して、DirectXを使用してウィンドウにレンダリングしました。それはHWNDオブジェクトを必要とするinit()メソッドを持っていますので、DirectXをウィンドウに初期化し、無限ループの内部で呼び出されるrender()メソッドと、最後にcleanup()メソッドを使用してDirectXオブジェクトとデバイスを解放します。しかし、DirectXは回転する立方体のフレームを数フレーム(レンダリングするのに十分かもしれません)にレンダリングし、スクリーンは黒くなります。その後、立方体は元に戻りますが、それはまだ黒の期間中に回転しています。これは、オン・オフ・オン・...オン・パターンのパターンで続きます。 DirectXがウィンドウに正しく表示されないことがありますか?どうしましたか?DirectXレンダリング

+3

あなたのコードを表示 – BlackBear

+0

ようこそ!良い質問を書く方法を説明する2つの素晴らしいリソースがあります:http://sscce.orgと[あなたは何を試しましたか?](http://mattgemmell.com/2008/12/08/what-have-you- /) - あなたはそれらを読んで、それに応じてあなたの質問を編集する必要があります。 –

+0

WM_PAINTメッセージと背景をどのように処理していますか?おそらく彼らはあなたの絵を時々上書きしていますか?しかし、コードなしでは、私は言うことができません。 – jcoder

答えて

0

私の経験から、あなたのウィンドウ(see this page)のバックグラウンド消去イベントの処理を明示的に実装する必要があると思います。そうしないと、デフォルトの実装があなたのやり方で始まりますDirectXは単に他の人が示唆するようにレンダリングされる)。

しかし皆、すでに言及したように、これは少しの理論に過ぎず、これをさらに確認するコードが必要になります:-)。