スポンサーサイト 

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

[ --/--/-- --:-- ] スポンサー広告 | トラックバック(-) | コメント(-)

DirectX描画考察 

ちょっと前からDirectXの描画システムをコツコツ作っています。
さて、簡単に流れを追ってみる、詳細はぐぐってくれ

1.D3Dオブジェクトの作成。
2.d3dppを投げてデバイスの作成。

3.バックバッファのクリア
4.pDevice->BeginScene();
5.DrawPrimitiveとかで描画
6.pDevice->EndScene();
7.pDevice->Present();

ここで分かりにくいのは4,6,7。
5で描画指示してるのに、何をやっているんだ?と。

7.はダブルバッファリングなんで、フリップでもしてるんでしょう。
4と6は調べてみる事にしましょうか。
BeginScene: シーンを開始する。
分かるわ( ゚д゚)

内部で何やってるかが知りたいわけで、この辺の情報少ないなぁ。
Beginでエントリー開始して、5.で描画エントリ、Endで描画開始だろうか。
そうするとPresentは描画終了まで待つはずなので、Endの後はCPU処理した方がよさげ?
SetRenderTargetとかで切り替えても平気なんだよなー、順番と対象は完全に保持されてるのかな。

そんなわけで、効率を考えるなら、
バッファのクリア→Begin→描画→End→更新処理など→Presentがいい気がします。
実際計測したわけじゃないのでなんとも言えないですが。
シェーダーのように描画結果を必要とするものはBegin~End何度も呼ばないといけないかもしれんね。
スポンサーサイト

[ 2008/05/22 00:50 ] ライブラリ開発 | TB(0) | CM(2)
仕事でプログラム組んで、プライベートでもプログラムかぁ・・・(笑)
好きだよねぇ。
[ 2008/05/31 11:31 ] 傍観者 [ 編集 ]
専門学校にも顔出したりして、結構楽しくやってる感じw
また趣味でゲーム作りたいけど、時間があんまりないのが厳しい_no
[ 2008/06/01 20:14 ] poro(管理人) [ 編集 ]
コメントの投稿














管理者にだけ表示を許可する
プロフィール

poro

  • Author:poro
  • プログラマやってる人です。
    絵とかも好きだったり、
    何か作りたいとか最近考えているらしい。
ブロとも申請フォーム


上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。