void ModelPreviewCanvas::RenderWindow() { if(!IsShownOnScreen()) return; Driver* driver = gEngine->GetDriver(); IDirect3DDevice9* d3dDevice = driver->GetD3DDevice(); mCamera->FrameUpdate(); if(wxWindow::FindFocus() == this) mCamera->ApplyCameraController(); driver->RenderToSwapChain(mSwapChainIndex); driver->Clear(D3DCLEAR_TARGET | D3DCLEAR_ZBUFFER, 0x7f36404a, 1.0f); driver->BeginScene(); std::vector<Vector3> points; points.push_back(Vector3::Zero); points.push_back(Vector3(2, 0, 0)); DebugDrawer::DrawLine(points, 0xffff0000, mCamera); Material* diffMtl = gEngine->GetMaterialManager()->GetDefaultViewMtl(); if(mModel) { mModel->Draw(IDENTITY_MATRIX, mCamera, true); } driver->EndScene(); driver->Present((HWND)GetHWND()); }
void TreeGeneratorCanvas::RenderWindow() { Driver* driver = gEngine->GetDriver(); IDirect3DDevice9* d3dDevice = driver->GetD3DDevice(); Camera* extraCamera = gEngine->GetSceneManager()->GetExtraCamera(); switch(d3dDevice->TestCooperativeLevel()) { case D3D_OK: { extraCamera->FrameUpdate(); if(wxWindow::FindFocus() == this) extraCamera->ApplyCameraController(); driver->RenderToSwapChain(swapChainIndex); driver->Clear(D3DCLEAR_TARGET | D3DCLEAR_ZBUFFER, 0x7f36404a, 1.0f); driver->BeginScene(); std::vector<Vector3> points; points.push_back(Vector3::Zero); points.push_back(Vector3(2, 0, 0)); DebugDrawer::DrawLine(points, 0xffff0000, extraCamera); if(mTree) mTree->Draw(extraCamera); driver->EndScene(); driver->Present((HWND)GetHWND()); break; } case D3DERR_DEVICELOST: break; case D3DERR_DEVICENOTRESET: { OnLostDevice(); OnResetDevice(); break; } } }