// present parameters D3DPRESENT_PARAMETERS d3dpp; memset(&d3dpp,0,sizeof(d3dpp)); d3dpp.BackBufferWidth = window_width; d3dpp.BackBufferHeight = window_height; d3dpp.BackBufferFormat = D3DFMT_A8R8G8B8; d3dpp.BackBufferCount = (flags & VSYNC) ? 2 : 1; d3dpp.MultiSampleType = D3DMULTISAMPLE_NONE; if(flags & MULTISAMPLE_2) d3dpp.MultiSampleType = D3DMULTISAMPLE_2_SAMPLES; if(flags & MULTISAMPLE_4) d3dpp.MultiSampleType = D3DMULTISAMPLE_4_SAMPLES; if(flags & MULTISAMPLE_8) d3dpp.MultiSampleType = D3DMULTISAMPLE_8_SAMPLES; d3dpp.SwapEffect = D3DSWAPEFFECT_DISCARD; d3dpp.hDeviceWindow = m_hWnd; d3dpp.Windowed = TRUE; d3dpp.EnableAutoDepthStencil = TRUE; d3dpp.AutoDepthStencilFormat = D3DFMT_D24S8; d3dpp.PresentationInterval = (flags & VSYNC) ? D3DPRESENT_INTERVAL_ONE : D3DPRESENT_INTERVAL_IMMEDIATE; // device flags flags = D3DCREATE_HARDWARE_VERTEXPROCESSING ;//| D3DCREATE_NOWINDOWCHANGES; // create device HRESULT hr = d3d->CreateDevice(D3DADAPTER_DEFAULT,D3DDEVTYPE_HAL,m_hWnd,flags,&d3dpp,&device); if(hr != D3D_OK) { SAFE_RELEASE(device); hr = d3d->CreateDevice(D3DADAPTER_DEFAULT,D3DDEVTYPE_HAL,m_hWnd,flags,&d3dpp,&device); } if(hr != D3D_OK) { Unigine::Log::error("CSceneEditorView::setVideoMode(): Direct3D9::CreateDevice() failed/n"); return 0; }