割り込みで質問すいません。Visual C++ 2005を使っているのですが、下記のプログラムを書いたところDirect3Dデバイスが作成されませんでした。
D3DCREATE_MIXED_VERTEXPROCESSINGの部分を色々いじってみたのですが駄目でしたorz
どなたか解決策をご教授いただけたら助かります。
PCのスペックはCore2Duo E6600、Geforce 8600GTSです。
問題のところだけ抜粋してみました。
HRESULT InitD3d(HWND hWnd)
{
if( NULL == ( pD3d = Direct3DCreate9( D3D_SDK_VERSION ) ) )
{
MessageBox(0,"Direct3Dの作成に失敗しました","",MB_OK);
return E_FAIL;
}
D3DPRESENT_PARAMETERS d3dpp;
ZeroMemory( &d3dpp, sizeof(d3dpp) );
d3dpp.BackBufferFormat =D3DFMT_UNKNOWN;
d3dpp.BackBufferCount=1;
d3dpp.SwapEffect = D3DSWAPEFFECT_DISCARD;
d3dpp.Windowed = TRUE;
if( FAILED( pD3d->CreateDevice( D3DADAPTER_DEFAULT, D3DDEVTYPE_HAL, hWnd,
D3DCREATE_MIXED_VERTEXPROCESSING ,
&d3dpp, &pDevice ) ) )
{
MessageBox(0,"HALモードでDIRECT3Dデバイスを作成できません\nREFモードで再試行します",NULL,MB_OK);
if( FAILED( pD3d->CreateDevice( D3DADAPTER_DEFAULT, D3DDEVTYPE_REF, hWnd,
D3DCREATE_MIXED_VERTEXPROCESSING ,
&d3dpp, &pDevice ) ) )
{
MessageBox(0,"DIRECT3Dデバイスの作成に失敗しました",NULL,MB_OK);
return E_FAIL;
}
}