Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- g_deferredRenderer->Begin();
- if( g_camera )
- {
- g_device->SetTransform( D3DTS_VIEW, &g_camera->view );
- g_device->SetTransform( D3DTS_PROJECTION, &g_camera->projection );
- UpdateCamera( g_camera->base );
- BuildFrustum( g_camera );
- }
- g_device->SetVertexDeclaration( g_meshVertexDeclaration );
- // precalculations
- for( size_t i = 0; i < g_nodes.size(); i++ )
- {
- SceneNode * node = g_nodes.at( i );
- CalculateGlobalTransform( node );
- }
- // render meshes into G-Buffer
- if( g_camera )
- {
- for( auto groupIterator = g_meshes.begin(); groupIterator != g_meshes.end(); ++groupIterator )
- {
- IDirect3DTexture9 * texture = groupIterator->first;
- auto & meshes = groupIterator->second;
- if( meshes.size() == 0 )
- continue;
- // bind diffuse texture
- g_device->SetTexture( 0, texture );
- for( auto meshIterator = meshes.begin(); meshIterator != meshes.end(); ++meshIterator )
- {
- Mesh * mesh = *meshIterator;
- g_deferredRenderer->RenderMesh( mesh );
- }
- }
- }
- g_deferredRenderer->End();
- g_device->EndScene();
- g_device->Present( 0, 0, 0, 0 );
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement