Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mapsme/omim.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaria Volvenkova <d.volvenkova@corp.mail.ru>2018-07-11 18:32:55 +0300
committerVlad Mihaylenko <vxmihaylenko@gmail.com>2018-07-20 14:51:41 +0300
commitec47c41a1654a5c95dd6c5c905adc3b900e6f6f1 (patch)
tree9f80c3c933e8c5e77b667e9233c6a1102bf88dcb /drape_frontend
parent29fe27c2b122abc5b11e37299278e0519986e1d0 (diff)
Enable antialiasing when transit scheme is enabled.
Diffstat (limited to 'drape_frontend')
-rwxr-xr-xdrape_frontend/frontend_renderer.cpp6
-rwxr-xr-xdrape_frontend/frontend_renderer.hpp1
-rw-r--r--drape_frontend/postprocess_renderer.cpp18
3 files changed, 23 insertions, 2 deletions
diff --git a/drape_frontend/frontend_renderer.cpp b/drape_frontend/frontend_renderer.cpp
index 8f15c6d809..6ebd798261 100755
--- a/drape_frontend/frontend_renderer.cpp
+++ b/drape_frontend/frontend_renderer.cpp
@@ -759,6 +759,10 @@ void FrontendRenderer::AcceptMessage(ref_ptr<Message> message)
{
ref_ptr<EnableTransitSchemeMessage > msg = message;
m_transitSchemeEnabled = msg->IsEnabled();
+#ifndef OMIM_OS_IPHONE_SIMULATOR
+ m_postprocessRenderer->SetEffectEnabled(PostprocessRenderer::Effect::Antialiasing,
+ msg->IsEnabled() ? true : m_isAntialiasingEnabled);
+#endif
if (!msg->IsEnabled())
m_transitSchemeRenderer->ClearGLDependentResources(make_ref(m_overlayTree));
break;
@@ -855,6 +859,8 @@ void FrontendRenderer::AcceptMessage(ref_ptr<Message> message)
case Message::SetPosteffectEnabled:
{
ref_ptr<SetPosteffectEnabledMessage> msg = message;
+ if (msg->GetEffect() == PostprocessRenderer::Effect::Antialiasing)
+ m_isAntialiasingEnabled = msg->IsEnabled();
#ifndef OMIM_OS_IPHONE_SIMULATOR
m_postprocessRenderer->SetEffectEnabled(msg->GetEffect(), msg->IsEnabled());
#endif
diff --git a/drape_frontend/frontend_renderer.hpp b/drape_frontend/frontend_renderer.hpp
index 4976bf8765..42d1fc42db 100755
--- a/drape_frontend/frontend_renderer.hpp
+++ b/drape_frontend/frontend_renderer.hpp
@@ -330,6 +330,7 @@ private:
bool m_forceUpdateScene;
bool m_forceUpdateUserMarks;
+ bool m_isAntialiasingEnabled = false;
drape_ptr<PostprocessRenderer> m_postprocessRenderer;
drape_ptr<ScenarioManager> m_scenarioManager;
diff --git a/drape_frontend/postprocess_renderer.cpp b/drape_frontend/postprocess_renderer.cpp
index 809edf7e3d..b0666d1387 100644
--- a/drape_frontend/postprocess_renderer.cpp
+++ b/drape_frontend/postprocess_renderer.cpp
@@ -453,9 +453,23 @@ void PostprocessRenderer::OnFramebufferFallback()
void PostprocessRenderer::OnChangedRouteFollowingMode(bool isRouteFollowingActive)
{
+ if (m_isRouteFollowingActive == isRouteFollowingActive)
+ return;
+
m_isRouteFollowingActive = isRouteFollowingActive;
- m_isMainFramebufferRendered = false;
- m_isSmaaFramebufferRendered = false;
+ if (m_isRouteFollowingActive)
+ {
+ if (m_width != 0 && m_height != 0)
+ UpdateFramebuffers(m_width, m_height);
+ }
+ else
+ {
+ m_isMainFramebufferRendered = false;
+ m_isSmaaFramebufferRendered = false;
+ m_edgesFramebuffer.reset();
+ m_blendingWeightFramebuffer.reset();
+ m_smaaFramebuffer.reset();
+ }
}
StencilWriterGuard::StencilWriterGuard(ref_ptr<PostprocessRenderer> renderer)