2022-11-15 なんとなく公開
2014-08-31に書いてたらしき文章が発掘された(いつの間にかUPまでしてあったけどリンクしてなかった)ので、せっかくなのでそのまんま晒しageしておきます。
DirectX8 → DirectX9
9 と 10 は共存可能らしいけどそれ以外はダメらしいので頑張って書き換えますた
やっぱり言うほど頑張ってないわ
自分用なので雑。今の時代こんな情報はもはや何にもならない
#include "d3d8.h"
LPDIRECT3D8
LPDIRECT3DTEXTURE8 とか
とりあえず真っ先にincludeを書き換えておけばあとはエラーのおかげで自然と見つかる
リンカ > 追加の依存ファイル に d3d8 とかあるかも
MS公式より
CreateTexture
CreateVolumeTexture
CreateCubeTexture
CreateVertexBuffer
CreateIndexBuffer
CreateRenderTarget
CreateDepthStencilSurface
CreateOffscreenPlainSurface
引数追加したくせに「未使用だからNULL渡せ」ってなんだよおい追加したなら使えよ
SetStreamSource 8のときに第3だった引数が第4に ベタ移植なら新・第3引数にはとりあえず 0 で
IDirect3DVertexBuffer8::Lock C++では型変換を自動でやってくれないので第3引数を (BYTE**) から (void**) に
他にもなんかあった気がするけど思い出せないということはそんなにややこしくないってことだ
SetVertexShader → SetFVF
SetTextureStageState → SetSamplerState
CreateImageSurface → CreateOffscreenPlainSurface (らしい)
D3DTSS_ADDRESSU → D3DSAMP_ADDRESSU
D3DTSS_ADDRESSV → D3DSAMP_ADDRESSV
上2つはなんか場合にもよるっぽい?けどgoluahではよらなかったから知らん
HFONT がなんか変わったのかエラー吐くのでどっかのサイトからコピペ
CPU使用率低下
D3DXCreateSphere とか使えて便利
DirectX9 の方が解説してるサイトが多いからさらに便利
GetD3D を使っていたdllがタヒる
LPDIRECT3DDEVICE が 8 と 9 で型変換できれば超嬉しい
XPのサポートも切れたことだし DirectX9 → DirectX11