WindowsグラフィックスとDirectX
OS環境の変化 CUI (MS-DOSやLinux) GUI (MacOSXやWindows)
OSの進化とグラフィックの進化 Windows Game SDK (DirectX1)・・・DirectDraw (GDI ベース) DirectX8 ・・・DirectX Graphics「DirectDrawとDirect3Dの統合」 Windows2000・・・GDIの改良が必要になってくる。 (半透明効果・アルファチャンネル) WindowsXP・・・.NET Framework の登場、GDI+ Windows Vista・・・.NET Framework 3.0 DirectX 9レベルのハードウェア・アクセラレーション
DirectXを使う理由、必要な場面 互換性 VRAMを使った高速な描画が可能 Win32の描画API ・・・OSのライフサイクルで変化していくAPIセット DirectX・・・ハードウェアの世代と同期したAPIセット
DirectXプログラムの流れ 初期化処理 ↓ ↓ 開放 (DirectX初期化とダブルバッファリング ) 「コンソールプログラムの場合」 プログラム処理 開放 「windowプログラムの場合」 初期化処理 ↓ イベント処理関数(ループしながら対応した処理を実行) 開放 ↓ 開放
イベント処理のみ設計した場合 main() { while(WM_QUIT != msg.message) { if(GetMessage(&msg, NULL, 0,0)){ TranslateMessage( &msg ); DispatchMessage( &msg ); } main() { while(WM_QUIT != msg.message) { if(PeekMessage(&msg,NULL,0,0,PM_REMOVE)){ TranslateMessage( &msg ); DispatchMessage( &msg ); } else { UpDate Draw(); } }
参考資料 MicrosoftMSDN DirectXの真実(N2Factory著) DirectXグラフィックスプログラミングVer.2.0 (N2Factory著)