MCPcopy Create free account
hub / github.com/comaps/comaps / PrepareRenderData

Method PrepareRenderData

libs/drape_frontend/transit_scheme_renderer.cpp:108–126  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

106}
107
108void TransitSchemeRenderer::PrepareRenderData(ref_ptr<dp::GraphicsContext> context, ref_ptr<gpu::ProgramManager> mng,
109 ref_ptr<dp::OverlayTree> tree,
110 std::vector<TransitRenderData> & currentRenderData,
111 TransitRenderData && newRenderData)
112{
113 // Remove obsolete render data.
114 auto const removePredicate = [this, &newRenderData](TransitRenderData const & rd)
115 { return rd.m_mwmId == newRenderData.m_mwmId && rd.m_recacheId < m_lastRecacheId; };
116 ClearRenderData(removePredicate, tree, currentRenderData);
117
118 m_lastRecacheId = std::max(m_lastRecacheId, newRenderData.m_recacheId);
119
120 // Add new render data.
121 auto program = mng->GetProgram(newRenderData.m_state.GetProgram<gpu::Program>());
122 program->Bind();
123 newRenderData.m_bucket->GetBuffer()->Build(context, program);
124
125 currentRenderData.emplace_back(std::move(newRenderData));
126}
127
128void TransitSchemeRenderer::RenderTransit(ref_ptr<dp::GraphicsContext> context, ref_ptr<gpu::ProgramManager> mng,
129 ScreenBase const & screen, ref_ptr<PostprocessRenderer> postprocessRenderer,

Callers

nothing calls this directly

Calls 5

GetProgramMethod · 0.45
BindMethod · 0.45
BuildMethod · 0.45
GetBufferMethod · 0.45
emplace_backMethod · 0.45

Tested by

no test coverage detected