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

Method StartLayer

trinity/Sprite2d/Tr2Sprite2dScene.cpp:1593–1630  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1591}
1592
1593void Tr2Sprite2dScene::StartLayer( Tr2TextureAL& rt )
1594{
1595 CCP_STATS_ZONE( __FUNCTION__ );
1596 USE_MAIN_THREAD_RENDER_CONTEXT();
1597
1598 D3DPERF_EVENT( L"Tr2Sprite2dScene::StartLayer" );
1599
1600 // Finish outstanding rendering before changing render target
1601 IssueDrawCall();
1602
1603 // A scene rendered in 3d renders in 2d within a layer
1604 m_is2dRenderContext = true;
1605
1606 // Set the render target to the top level surface of the given texture
1607 renderContext.m_esm.PushRenderTarget( rt );
1608
1609 Vector4 vpSize;
1610 vpSize.x = (float)rt.GetWidth();
1611 vpSize.y = (float)rt.GetHeight();
1612 vpSize.z = 0.0f;
1613 vpSize.w = 1.0f;
1614 m_viewportSizeVar = vpSize;
1615
1616 // Coordinate transformation and clipping is reset - push the current stacks
1617 // onto a stack for later retrieval when we end the layer. Remember that layers
1618 // may be nested.
1619 StackOfStacksEntry_t entry;
1620 entry.transformStack = m_transformStack;
1621 entry.clipStack = m_clipStack;
1622 entry.renderTargetTexture = &rt;
1623 entry.renderTargetWrapper.CreateInstance();
1624 entry.renderTargetWrapper->SetRenderTarget( &rt );
1625 m_stackOfStacks.push_back( entry );
1626
1627 m_transformStack = CCP_NEW( "Tr2Sprite2dScene/m_transformStack" ) TransformStack_t( "Tr2Sprite2dScene/m_transformStack" );
1628 m_clipStack = CCP_NEW( "Tr2Sprite2dScene/m_clipStack" ) ClipStack_t( "Tr2Sprite2dScene/m_clipStack" );
1629 m_clipStack->push_back( Tr2Sprite2dClipRect( 0.0f, 0.0f, vpSize.x, vpSize.y ) );
1630}
1631
1632void Tr2Sprite2dScene::EndLayer( float x, float y, float width, float height, ITr2Sprite2dTexture* secondaryTexture )
1633{

Callers 1

GatherSpritesMethod · 0.80

Calls 6

Tr2Sprite2dClipRectClass · 0.85
CreateInstanceMethod · 0.80
PushRenderTargetMethod · 0.45
GetWidthMethod · 0.45
GetHeightMethod · 0.45
SetRenderTargetMethod · 0.45

Tested by

no test coverage detected