MCPcopy Create free account
hub / github.com/9chu/LuaSTGPlus / PushRenderTarget

Method PushRenderTarget

LuaSTGPlus/AppFrame.cpp:996–1022  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

994}
995
996bool AppFrame::PushRenderTarget(fcyRefPointer<f2dTexture2D> rt)LNOEXCEPT
997{
998 fcyRect orgVP = m_pRenderDev->GetViewport();
999 if (FCYFAILED(m_pRenderDev->SetRenderTarget(rt)))
1000 {
1001 LERROR("PushRenderTarget: 内部错误 (f2dRenderDevice::SetRenderTarget failed.)");
1002 return false;
1003 }
1004 m_pRenderDev->SetViewport(orgVP);
1005
1006 try
1007 {
1008 m_stRenderTargetStack.push_back(rt);
1009 }
1010 catch (const std::bad_alloc&)
1011 {
1012 LERROR("PushRenderTarget: 内存不足");
1013 if (m_stRenderTargetStack.empty())
1014 m_pRenderDev->SetRenderTarget(nullptr);
1015 else
1016 m_pRenderDev->SetRenderTarget(m_stRenderTargetStack.back());
1017 m_pRenderDev->SetViewport(orgVP);
1018 return false;
1019 }
1020
1021 return true;
1022}
1023
1024LNOINLINE bool AppFrame::PushRenderTarget(ResTexture* rt)LNOEXCEPT
1025{

Callers

nothing calls this directly

Calls 1

SetViewportMethod · 0.45

Tested by

no test coverage detected