anfängerregnäfna
Mitglied
Ich habe die Angaben in der D3DPRESENT PARAMETERS Struktur geändert und überprüft, ob hwnd=0 ist. hwnd ist gültig, aber der Fehler taucht immer noch auf.
Hier die Erstellund der IDirect3DDevice-Schnittstelle
Hier die Erstellund der IDirect3DDevice-Schnittstelle
Code:
bool initdx()
{
g_pd3d=Direct3DCreate9(D3D_SDK_VERSION);
if(!g_pd3d) {
MessageBoxA(NULL,"Can not create Direct3D Interface!","Error",MB_OK);
return FALSE;
}
D3DDISPLAYMODE d;
g_pd3d->GetAdapterDisplayMode(0,&d);
D3DPRESENT_PARAMETERS pParam;
ZeroMemory(&pParam,sizeof(pParam));
pParam.BackBufferWidth=d.Width;
pParam.BackBufferHeight=d.Height;
pParam.BackBufferFormat=d.Format;
pParam.BackBufferCount=1;
pParam.MultiSampleType=D3DMULTISAMPLE_NONE;
pParam.MultiSampleQuality=NULL;
pParam.SwapEffect=D3DSWAPEFFECT_DISCARD;
pParam.hDeviceWindow=hwnd;
pParam.Windowed=TRUE;
pParam.EnableAutoDepthStencil=false;
pParam.Flags=NULL;
pParam.FullScreen_RefreshRateInHz=d.RefreshRate;
pParam.PresentationInterval=D3DPRESENT_INTERVAL_ONE;
if(FAILED(g_pd3d->CreateDevice(0,D3DDEVTYPE_HAL,hwnd,D3DCREATE_MIXED_VERTEXPROCESSING,&pParam,&g_pd3ddev)))
{
MessageBoxA(NULL,"Can not create Direct3DDevice Interface!","Error",MB_OK);
return FALSE;
}
};