Direct3D9
Direct3DはマイクロソフトがWindowsで三次元ゲームを行えるよう開発したツールです。
3D機能のあるDirectX9 SDK (February 2006)をdownloadしたものを使っています。
Windows XP以前では使えないかもしれません。
Direct3D9をVisucal Stuio.NET 2003のC++でプログラムしたサンプルを以下に示します。
DirectX9以上が必要です。
Hello World
あらゆるプログラム言語はHello Worldから始まるそうです。
以下のように打ち込みました。
Source1.cpp
やっていることは
- Direct3D interfaceの作成
- Direct3D deviceの作成
- Direct3D Fontの作成
- Direct3DのDrawText関数を使ってHello Worldをバックバッファに描画
- バックバッファをプライマリバッファにコピー
です。ビルドしました。
task1.exe
Hello World!と表示されます。
Hello World
Direct3D9のテクスチャとスプライト機能を使ってHello Worldと表示します。
以下のように打ち込みました。
Source2.cpp
textureとなる256x50画素のbitmap画像image1.bmp
やっていることは
- 256x50画素のbitmap画像を読み込んでDirect3DTexture9を作成
- bitmap画像の黒を透明色となるよう設定
- Direct3DXSpriteの作成
- Direct3DXSpriteのDraw機能を使ってtextureを表示
です。ビルドしました。
task2.exe
image1.bmpとtask2.exeは同じフォルダである必要があります。Hello World!と表示されます。
立方体三次元ポリゴンの表示
Direct3Dの用途は本来三次元表示です。立方体を作成します。
Source3.cpp
textureとなる128x128画素のbitmap画像image2.bmp
やっていることは
- 頂点フォーマットの作成
- World行列・View行列・Projection行列の作成
- 立方体の面をtextureを用いて描画
です。ビルドしました。
task3.exe
立方体が右回り・左回りに回転します。