DirectX9で8のサンプルとか試してみた

DirectX9でDirectX8のサンプルが動くか試してみた。
少し、変更すればわりと動く様子。

include

#include <d3d8.h>
#include <d3dx8.h>
#include <d3d9.h>
#include <d3dx9.h>

最後に8のつく型とか関数

9に変えとく

LPDIRECT3D8
LPDIRECT3DDEVICE8
Direct3DCreate8(D3D_SDK_VERSION)

引数変わった関数

引数が追加になっているのがわりとある

IDirect3DDevice9::CreateVertexBuffer
IDirect3DDevice9::SetStreamSource
IDirect3DDevice9::CreatePixelShader
IDirect3DVertexBuffer9::Lock
D3DXLoadMeshFromX
D3DXCreateFont
ID3DXFont::DrawText

使い方変わった

IDirect3DDevice9::SetVertexShader(FVF)

IDirect3DDevice9::SetFVF(FVF)

に変える

PixelShader

なんかいろいろ変わっているようす。

D3DXAssembleShaderFromFile

引数の数と型が変更

ID3DXEffectStateManager::SetPixelShaderConstant

ID3DXEffectStateManager::SetPixelShaderConstantF
ID3DXEffectStateManager::SetPixelShaderConstantI
ID3DXEffectStateManager::SetPixelShaderConstantB
lpD3DDEV->DeletePixelShader(dwPixelShader);

RELEASE(pPixelShader);

DirectX9同士で変わってるw

ID3DXEffect::Pass

ID3DXEffect::BeginPass
ID3DXEffect::EndPass