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

Method RenderDebugInfo

trinity/Interior/Tr2InteriorScene.cpp:831–883  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

829}
830
831void Tr2InteriorScene::RenderDebugInfo( Tr2RenderContext& renderContext )
832{
833 if( !m_debugRenderer )
834 {
835 if( m_debugRenderShadowMaps )
836 {
837 // Need to create a debug renderer
838 m_debugRenderer = Tr2DebugRendererPtr();
839 m_debugRenderer.CreateInstance();
840 }
841 else
842 {
843 return;
844 }
845 }
846
847 // Display the debug meshes for the lights
848 Tr2PerFrameVSDataDebug debugPerFrameData;
849
850 debugPerFrameData.ViewProjectionMat = XMMatrixTranspose(
851 XMMatrixMultiply( Tr2Renderer::GetViewTransform(), Tr2Renderer::GetProjectionTransform() ) );
852
853 // attention: need the transposed, but shader also needs column_major, so it is transpose(transpose(m)) == m
854 debugPerFrameData.ViewInverseTransposeMat = Tr2Renderer::GetInverseViewTransform();
855
856 FillAndSetConstants( m_perFrameVSBuffer, debugPerFrameData, VERTEX_SHADER, Tr2Renderer::GetPerFrameVSStartRegister(), renderContext );
857
858 m_debugRenderer->BeginRender();
859 auto bkProjection = Tr2Renderer::GetProjectionRawTransform();
860
861 Tr2Renderer::SetProjectionTransform( Tr2Renderer::GetProjectionTransform() );
862 ON_BLOCK_EXIT( [&] { Tr2Renderer::SetProjectionTransform( bkProjection ); } );
863
864 for( auto it = m_lights.begin(); it != m_lights.end(); ++it )
865 {
866 if( auto renderable = dynamic_cast<ITr2DebugRenderable*>( *it ) )
867 {
868 renderable->RenderDebugInfo( *m_debugRenderer );
869 }
870 }
871 for( auto it = m_dynamics.begin(); it != m_dynamics.end(); ++it )
872 {
873 if( auto renderable = dynamic_cast<ITr2DebugRenderable*>( *it ) )
874 {
875 renderable->RenderDebugInfo( *m_debugRenderer );
876 }
877 }
878 renderContext.m_esm.ApplyStandardStates( Tr2EffectStateManager::RM_FULLSCREEN );
879 RenderDebugInfo( *m_debugRenderer );
880
881 m_debugRenderer->EndRender( renderContext );
882 Tr2Renderer::RenderDebugInfo( renderContext );
883}
884
885ITr2MultiPassScene::RenderPassResult Tr2InteriorScene::RenderPass( PassType pass, Tr2RenderContext& renderContext )
886{

Callers

nothing calls this directly

Calls 15

GetViewTransformFunction · 0.85
GetProjectionTransformFunction · 0.85
CreateInstanceMethod · 0.80
ApplyStandardStatesMethod · 0.80
HasOptionMethod · 0.80
PushViewportMethod · 0.80
PopViewportMethod · 0.80
FillAndSetConstantsFunction · 0.50
RenderDebugInfoFunction · 0.50
BeginRenderMethod · 0.45
beginMethod · 0.45
endMethod · 0.45

Tested by

no test coverage detected