Witam.Mam problem z funkcją która zajmuje się utworzeniem urządzenia oraz z usunięciem go przy zamykaniu programu. Proszę o jakąś wskazówkę.
Wzorowałem się na podstawie dokumentacji DirectX oraz na WARP'ach.
HRESULT CFramework::CreateDevice()
{
D3DPRESENT_PARAMETERS PresentParam;
if(FAILED( GeneratePresentParams(&PresentParam)))
MessageBox(m_hWnd,L"Błąd. Nie można wywołać funkcji\nGeneratePresentParams",NULL,MB_OK | MB_ICONERROR);
HRESULT hr;
hr = m_pD3d>CreateDevice(D3DADAPTER_DEFAULT,D3DDEVTYPE_HAL,m_hWnd,
D3DCREATE_SOFTWARE_VERTEXPROCESSING,&PresentParam,&m_pD3dDevice);
if(FAILED(hr)) return E_FAIL;
hr = m_pD3d>CreateDevice(D3DADAPTER_DEFAULT,D3DDEVTYPE_HAL,m_hWnd,
D3DCREATE_MIXED_VERTEXPROCESSING,&PresentParam,&m_pD3dDevice);
if(FAILED(hr)) return E_FAIL;
hr = m_pD3d>CreateDevice(D3DADAPTER_DEFAULT,D3DDEVTYPE_HAL,m_hWnd,
D3DCREATE_HARDWARE_VERTEXPROCESSING,&PresentParam,&m_pD3dDevice);
if(FAILED(hr)) return E_FAIL;
return S_OK;
}//end CreateDevice
HRESULT CFramework::DestroyDirect3D()
{
if(m_pD3d) m_pD3d->Release();
if(m_pD3d) return E_FAIL;
return S_OK;
}//end DestroyDirect3D
int CFramework::Go()
{
InitCommonControls();
if(FAILED(CreateDirect3D()))
MessageBox(m_hWnd,L"Błąd CreateDirect3D",NULL,MB_OK | MB_ICONERROR);
if(FAILED(RegisterClass_()))
MessageBox(m_hWnd,L"Błąd RegisterClass",NULL,MB_OK | MB_ICONERROR);
if(FAILED(CreateWindow_()))
MessageBox(m_hWnd,L"Błąd CreateWindow",NULL,MB_OK | MB_ICONERROR);
if(FAILED(CreateDevice()))
MessageBox(m_hWnd,L"Błąd CreateDevice",NULL,MB_OK | MB_ICONERROR);
return Loop();
}//end Go
Dzięki z góry.:)