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

Method GatherSprites

trinity/Sprite2d/Tr2Sprite2dLayer.cpp:39–85  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

37}
38
39void Tr2Sprite2dLayer::GatherSprites( Tr2Sprite2dScene* renderer )
40{
41 USE_MAIN_THREAD_RENDER_CONTEXT();
42
43 if( !m_display )
44 {
45 return;
46 }
47
48 AllocateRenderTarget();
49
50 if( !m_renderTarget.IsValid() )
51 {
52 return;
53 }
54
55 renderer->StartLayer( m_renderTarget );
56
57 float oldOpacity = renderer->GetAccumulatedAlpha();
58 renderer->SetAccumulatedAlpha( m_opacity * oldOpacity );
59
60 if( m_isDirty )
61 {
62 if( m_clearBackground )
63 {
64 renderContext.Clear( CLEARFLAGS_TARGET, m_backgroundColor, 0, 0 );
65 }
66
67 for( ITr2SpriteObjectVector::reverse_iterator it = m_background.rbegin(); it != m_background.rend(); ++it )
68 {
69 ( *it )->GatherSprites( renderer );
70 }
71 for( ITr2SpriteObjectVector::reverse_iterator it = m_children.rbegin(); it != m_children.rend(); ++it )
72 {
73 ( *it )->GatherSprites( renderer );
74 }
75
76 m_isDirty = false;
77 }
78
79 renderer->SetColor( m_color );
80 renderer->SetSpriteEffect( m_spriteEffect );
81 renderer->SetBlendmode( m_blendMode );
82 renderer->EndLayer( m_translation.x, m_translation.y, m_displayWidth, m_displayHeight, m_textureSecondary );
83
84 renderer->SetAccumulatedAlpha( oldOpacity );
85}
86
87bool Tr2Sprite2dLayer::OnPrepareResources()
88{

Callers

nothing calls this directly

Calls 9

StartLayerMethod · 0.80
GetAccumulatedAlphaMethod · 0.80
SetAccumulatedAlphaMethod · 0.80
SetSpriteEffectMethod · 0.80
SetBlendmodeMethod · 0.80
EndLayerMethod · 0.80
IsValidMethod · 0.45
ClearMethod · 0.45
SetColorMethod · 0.45

Tested by

no test coverage detected