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

Method Render

trinity/Sprite2d/Tr2Sprite2dScene.cpp:223–293  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

221}
222
223void Tr2Sprite2dScene::Render( Tr2RenderContext& renderContext )
224{
225 CCP_STATS_ZONE( __FUNCTION__ );
226 D3DPERF_EVENT( L"Tr2Sprite2dScene::Render" );
227
228 if( !m_display || !renderContext.IsValid() )
229 {
230 return;
231 }
232
233 bool isReady = PrepareResourcesForRender();
234 if( !isReady )
235 {
236 return;
237 }
238
239 renderContext.AddGpuMarker( __FUNCTION__ );
240
241 if( m_useLinearColorSpace )
242 {
243 renderContext.SetRenderState( Tr2RenderContextEnum::RS_SRGBWRITEENABLE, 1 );
244 }
245
246 // Flash default texture to make it easier to spot missing textures
247 FlashDefaultTexture();
248
249 m_lastViewMatrix = Tr2Renderer::GetViewTransform();
250 m_lastProjectionMatrix = Tr2Renderer::GetProjectionTransform();
251
252 DetermineWorldTransform();
253 DetermineViewportSize();
254
255 renderContext.m_esm.PushDepthStencilBuffer( Tr2TextureAL() );
256
257 PrepareRenderContextForRendering( renderContext );
258
259 PrepareStacksBeforeRender();
260
261 ResetBufferPointers();
262
263 m_itemsRendered = 0;
264 m_drawCallsRendered = 0;
265
266 for( ITr2SpriteObjectVector::reverse_iterator it = m_background.rbegin(); it != m_background.rend(); ++it )
267 {
268 ( *it )->GatherSprites( this );
269 }
270 for( ITr2SpriteObjectVector::reverse_iterator it = m_children.rbegin(); it != m_children.rend(); ++it )
271 {
272 ( *it )->GatherSprites( this );
273 }
274
275 CCP_ASSERT( !m_captureDisplayList );
276
277 IssueDrawCall();
278
279 PrepareRenderContextAfterRendering( renderContext );
280

Callers 3

RenderTriangleVertsMethod · 0.45
IssueDrawCallMethod · 0.45
ReplayCaptureMethod · 0.45

Calls 9

GetViewTransformFunction · 0.85
GetProjectionTransformFunction · 0.85
PopDepthStencilBufferMethod · 0.80
Tr2TextureALClass · 0.50
IsValidMethod · 0.45
AddGpuMarkerMethod · 0.45
SetRenderStateMethod · 0.45
GatherSpritesMethod · 0.45

Tested by

no test coverage detected