を弄ってみた

いろんなものを途中で放置しているが気が向いたのでDirectXを弄り始めた。
けっこう呪文が多いので大変だが幸いDirectX意外はある程度わかるのでなんとかなりそう。

とりあえずリンクする

dsound.lib
dinput8.lib
dxerr9.lib
d3dx9.lib
d3d9.lib
追加
dxguid.lib

dxguid.libが無いとDirectInput8Createを使ったときに

error LNK2001: 外部シンボル "_IID_IDirectInput8W" は未解決です。

座標系

左手系 Y-up
UVは左上原点

ポリゴン形状を描画させる

その1 頂点バッファ
IDirect3DDevice9::DrawPrimitive

を使う。

その2 頂点バッファ+インデックスバッファ

自分はこの方式が馴染みがあるのでやりやすい

 IDirect3DDevice9::DrawIndexedPrimitive

を使う。

その3 ID3DXMesh

D3DXLoadMeshFromXでXファイルを読み込んだ場合に使う。
またはD3DXCreateMeshFVF(もしくはD3DXCreateMesh)してからLockVertexBufferなどして流し込む。
(LockVertexBufferの第1引数にD3DLOCK_DISCARDに指定したらうまくいかなかず0を指定した)

どれがいいのかよくわからないが、ID3DXMeshを使う方向で進めていこうと思う。