//-------------------------------------------------------------------------------------- // Render the scene using the D3D9 device //-------------------------------------------------------------------------------------- void CALLBACK OnD3D10FrameRender( ID3D10Device* pd3dDevice, double fTime, float fElapsedTime, void* pUserContext ) { HRESULT hr = S_OK; float ClearColor[4] = { 0,0,0,0 }; ID3D10RenderTargetView* pRTV = DXUTGetD3D10RenderTargetView(); pd3dDevice->ClearRenderTargetView( pRTV, ClearColor ); ID3D10DepthStencilView* pDSV = DXUTGetD3D10DepthStencilView(); pd3dDevice->ClearDepthStencilView( pDSV, D3D10_CLEAR_DEPTH, 1.0, 0 ); // If the settings dialog is being shown, then render it instead of rendering the app's scene if( g_SettingsDlg.IsActive() ) { g_SettingsDlg.OnRender( fElapsedTime ); return; } // Render the scene { D3DXVECTOR4 vLightDir( -1,1,-1,1 ); D3DXVec4Normalize( &vLightDir, &vLightDir ); g_pvWorldLightDir->SetFloatVector( ( float* )&vLightDir ); g_pfTime->SetFloat( ( float )fTime ); g_pfElapsedTime->SetFloat( fElapsedTime ); VisibilityCullTiles(); DXUT_BeginPerfEvent( DXUT_PERFEVENTCOLOR, L"Render Sky" ); RenderSky( pd3dDevice ); DXUT_EndPerfEvent(); DXUT_BeginPerfEvent( DXUT_PERFEVENTCOLOR, L"Render Terrain" ); RenderTerrain( pd3dDevice ); DXUT_EndPerfEvent(); if( g_bRenderBalls ) { DXUT_BeginPerfEvent( DXUT_PERFEVENTCOLOR, L"Render Balls" ); RenderBalls( pd3dDevice ); DXUT_EndPerfEvent(); } if( g_bRenderGrass ) { DXUT_BeginPerfEvent( DXUT_PERFEVENTCOLOR, L"Render Grass" ); RenderGrass( pd3dDevice ); DXUT_EndPerfEvent(); } DXUT_BeginPerfEvent( DXUT_PERFEVENTCOLOR, L"HUD / Stats" ); // These events are to help PIX identify what the code is doing RenderText(); V( g_HUD.OnRender( fElapsedTime ) ); V( g_SampleUI.OnRender( fElapsedTime ) ); DXUT_EndPerfEvent(); } }
void Renderer::RenderGameObjects() { RenderBalls(); RenderTiles(); RenderPaddles(); RenderBullets(); RenderBonusBoxes(); RenderParticles(); }