MCPcopy Create free account
hub / github.com/carbonengine/trinity / EndRender

Method EndRender

trinity/Eve/EveSpaceScene.cpp:2788–2879  ·  view source on GitHub ↗

-------------------------------------------------------------------------------------- Description: Render lensflares. Clear primary batches and frame dependant object lists. --------------------------------------------------------------------------------------

Source from the content-addressed store, hash-verified

2786// Render lensflares. Clear primary batches and frame dependant object lists.
2787// --------------------------------------------------------------------------------------
2788void EveSpaceScene::EndRender( Tr2RenderContext& renderContext )
2789{
2790 CCP_STATS_ZONE( __FUNCTION__ );
2791
2792 if( !m_display )
2793 {
2794 return;
2795 }
2796
2797 renderContext.AddGpuMarker( __FUNCTION__ );
2798
2799 Tr2QuadRenderer::Instance()->DoneRendering( renderContext );
2800
2801 renderContext.m_esm.BeginManagedRendering();
2802 renderContext.m_esm.ApplyStandardStates( Tr2EffectStateManager::RM_OPAQUE );
2803
2804 PopulatePerFramePSData( m_perFramePS, renderContext );
2805 PopulatePerFrameVSData( m_perFrameVS, renderContext );
2806 ApplyPerFrameData( renderContext );
2807
2808 // collect visible lensflares
2809 std::vector<ITr2Renderable*> visible;
2810
2811 PopulatePerFramePSData( m_perFramePS, renderContext );
2812 PopulatePerFrameVSData( m_perFrameVS, renderContext );
2813 ApplyPerFrameData( renderContext );
2814
2815 if( !visible.empty() )
2816 {
2817 renderContext.SetReadOnlyDepth( true );
2818 RenderRenderables( visible,
2819 m_secondaryBatches[TRIBATCHTYPE_TRANSPARENT],
2820 TRIBATCHTYPE_TRANSPARENT,
2821 Tr2EffectStateManager::RM_ALPHA,
2822 renderContext );
2823 RenderRenderables( visible,
2824 m_secondaryBatches[TRIBATCHTYPE_ADDITIVE],
2825 TRIBATCHTYPE_ADDITIVE,
2826 Tr2EffectStateManager::RM_ALPHA_ADDITIVE,
2827 renderContext );
2828 renderContext.SetReadOnlyDepth( false );
2829 visible.clear();
2830 }
2831
2832 // lensflares
2833 if( !m_lensflares.empty() )
2834 {
2835 GPU_REGION( renderContext, "Lens Flares" );
2836 // lensflares
2837 for( auto it = m_lensflares.cbegin(); it != m_lensflares.cend(); ++it )
2838 {
2839 ( *it )->GetRenderables( m_updateContext.GetFrustum(), visible );
2840 }
2841
2842 if( !visible.empty() )
2843 {
2844 renderContext.SetReadOnlyDepth( true );
2845 RenderRenderables( visible,

Callers 3

RenderDebugInfoMethod · 0.45
ExecuteMethod · 0.45
RenderDebugInfoMethod · 0.45

Calls 15

PopulatePerFramePSDataFunction · 0.85
PopulatePerFrameVSDataFunction · 0.85
GetViewTransformFunction · 0.85
DoneRenderingMethod · 0.80
BeginManagedRenderingMethod · 0.80
ApplyStandardStatesMethod · 0.80
emptyMethod · 0.80
GetFrustumMethod · 0.80
EndManagedRenderingMethod · 0.80
GetDebugSplitValueMethod · 0.80
GetShadowEffectMethod · 0.80
ReportUsedScreenSizesMethod · 0.80

Tested by

no test coverage detected