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

Method Render

trinity/Wod/WodBakingScene.cpp:83–125  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

81}
82
83void WodBakingScene::Render( Tr2RenderContext& renderContext )
84{
85 D3DPERF_EVENT( L"WodBakingScene::Render" );
86
87 // Nothing to render if we do not have a skinned object to bake out.
88 if( !m_skinnedObject )
89 {
90 return;
91 }
92
93 renderContext.AddGpuMarker( __FUNCTION__ );
94
95 Tr2PerObjectData* perObjectData = m_skinnedObject->GetPerObjectData( m_opaqueRenderBatches );
96 m_skinnedObject->GetBatches( m_opaqueRenderBatches, TRIBATCHTYPE_OPAQUE, perObjectData );
97
98 renderContext.m_esm.BeginManagedRendering();
99 renderContext.m_esm.SetInvertedCullMode( false );
100 using namespace Tr2RenderContextEnum;
101
102 // Actual rendering code goes in here
103 Tr2PerFrameVSData vsData;
104 Tr2PerFramePSData psData;
105
106 // Set per-frame data
107 PopulatePerFramePSData( psData );
108 PopulatePerFrameVSData( vsData );
109
110 FillAndSetConstants( m_VSBuffer, vsData, VERTEX_SHADER, Tr2Renderer::GetPerFrameVSStartRegister(), renderContext );
111 FillAndSetConstants( m_PSBuffer, psData, PIXEL_SHADER, Tr2Renderer::GetPerFramePSStartRegister(), renderContext );
112
113 m_opaqueRenderBatches->Finalize();
114 renderContext.m_esm.ApplyStandardStates( Tr2EffectStateManager::RM_OPAQUE );
115
116 // Render!
117 renderContext.RenderBatches( m_opaqueRenderBatches );
118
119 // Clear the batches
120 m_opaqueRenderBatches->Clear();
121
122 //m_transparentBatchStore->Clear();
123
124 renderContext.m_esm.EndManagedRendering();
125}
126
127void WodBakingScene::RenderDebugInfo( Tr2RenderContext& renderContext )
128{

Callers

nothing calls this directly

Calls 13

PopulatePerFramePSDataFunction · 0.85
PopulatePerFrameVSDataFunction · 0.85
BeginManagedRenderingMethod · 0.80
SetInvertedCullModeMethod · 0.80
FinalizeMethod · 0.80
ApplyStandardStatesMethod · 0.80
RenderBatchesMethod · 0.80
EndManagedRenderingMethod · 0.80
FillAndSetConstantsFunction · 0.50
AddGpuMarkerMethod · 0.45
GetPerObjectDataMethod · 0.45
GetBatchesMethod · 0.45

Tested by

no test coverage detected