Exemple #1
0
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;
		}
	}
}