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

Method AddRenderData

libs/drape_frontend/traffic_renderer.cpp:96–114  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

94} // namespace
95
96void TrafficRenderer::AddRenderData(ref_ptr<dp::GraphicsContext> context, ref_ptr<gpu::ProgramManager> mng,
97 TrafficRenderData && renderData)
98{
99 // Remove obsolete render data.
100 TileKey const tileKey(renderData.m_tileKey);
101 m_renderData.erase(std::remove_if(m_renderData.begin(), m_renderData.end(), [&tileKey](TrafficRenderData const & rd)
102 { return tileKey == rd.m_tileKey && rd.m_tileKey.m_generation < tileKey.m_generation; }),
103 m_renderData.end());
104
105 // Add new render data.
106 m_renderData.emplace_back(std::move(renderData));
107 TrafficRenderData & rd = m_renderData.back();
108
109 auto program = mng->GetProgram(rd.m_state.GetProgram<gpu::Program>());
110 program->Bind();
111 rd.m_bucket->GetBuffer()->Build(context, program);
112
113 std::sort(m_renderData.begin(), m_renderData.end());
114}
115
116void TrafficRenderer::OnUpdateViewport(CoverageResult const & coverage, int currentZoomLevel,
117 buffer_vector<TileKey, 8> const & tilesToDelete)

Callers 1

AcceptMessageMethod · 0.45

Calls 9

backMethod · 0.80
eraseMethod · 0.45
beginMethod · 0.45
endMethod · 0.45
emplace_backMethod · 0.45
GetProgramMethod · 0.45
BindMethod · 0.45
BuildMethod · 0.45
GetBufferMethod · 0.45

Tested by

no test coverage detected