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:
authorr.kuznetsov <r.kuznetsov@corp.mail.ru>2016-11-30 10:49:24 +0300
committerr.kuznetsov <r.kuznetsov@corp.mail.ru>2016-11-30 10:49:24 +0300
commit318509ff4f913375df5557bf928fade584bdd37d (patch)
tree78293aac46f97d0fe03a3d9cbf9cdbde4410d54a /drape_frontend
parentb629151b2588085b0df5d851c878e7beb7679605 (diff)
Tuned night style for traffic rendering
Diffstat (limited to 'drape_frontend')
-rw-r--r--drape_frontend/backend_renderer.cpp1
-rw-r--r--drape_frontend/color_constants.cpp36
-rw-r--r--drape_frontend/color_constants.hpp3
-rw-r--r--drape_frontend/traffic_generator.cpp7
-rw-r--r--drape_frontend/traffic_generator.hpp1
-rw-r--r--drape_frontend/traffic_renderer.cpp11
6 files changed, 43 insertions, 16 deletions
diff --git a/drape_frontend/backend_renderer.cpp b/drape_frontend/backend_renderer.cpp
index 546a734edc..b535393edd 100644
--- a/drape_frontend/backend_renderer.cpp
+++ b/drape_frontend/backend_renderer.cpp
@@ -293,6 +293,7 @@ void BackendRenderer::AcceptMessage(ref_ptr<Message> message)
{
m_texMng->Invalidate(VisualParams::Instance().GetResourcePostfix());
RecacheMapShapes();
+ m_trafficGenerator->InvalidateTexturesCache();
break;
}
diff --git a/drape_frontend/color_constants.cpp b/drape_frontend/color_constants.cpp
index b940c297ca..c2a0ee7e9a 100644
--- a/drape_frontend/color_constants.cpp
+++ b/drape_frontend/color_constants.cpp
@@ -25,13 +25,16 @@ unordered_map<int, unordered_map<int, dp::Color>> kColorConstants =
{ TrackPlaneSpeed, dp::Color(10, 196, 255, 255) },
{ TrackUnknownDistance, dp::Color(97, 97, 97, 255) },
{ TrafficG0, dp::Color(180, 25, 25, 255) },
- { TrafficG1, dp::Color(230, 60, 55, 255) },
- { TrafficG2, dp::Color(230, 60, 55, 255) },
- { TrafficG3, dp::Color(250, 190, 45, 127) },
- { TrafficG4, dp::Color(250, 190, 45, 127) },
+ { TrafficG1, dp::Color(250, 190, 45, 127) },
+ { TrafficG2, dp::Color(250, 190, 45, 127) },
+ { TrafficG3, dp::Color(230, 60, 55, 255) },
+ { TrafficG4, dp::Color(230, 60, 55, 255) },
{ TrafficG5, dp::Color(55, 165, 55, 255) },
- { TrafficTempBlock, dp::Color(0, 0, 0, 255) },
+ { TrafficTempBlock, dp::Color(75, 75, 75, 255) },
{ TrafficUnknown, dp::Color(0, 0, 0, 0) },
+ { TrafficArrowLight, dp::Color(255, 255, 255, 255) },
+ { TrafficArrowDark, dp::Color(107, 81, 20, 255) },
+ { TrafficOutline, dp::Color(255, 255, 255, 255) },
}
},
{ MapStyleDark,
@@ -39,23 +42,26 @@ unordered_map<int, unordered_map<int, dp::Color>> kColorConstants =
{ GuiText, dp::Color(255, 255, 255, 178) },
{ MyPositionAccuracy, dp::Color(255, 255, 255, 15) },
{ Selection, dp::Color(255, 230, 140, 164) },
- { Route, dp::Color(255, 202, 40, 180) },
- { RoutePedestrian, dp::Color(255, 152, 0, 180) },
- { RouteBicycle, dp::Color(216, 27, 96, 180) },
+ { Route, dp::Color(255, 225, 120, 180) },
+ { RoutePedestrian, dp::Color(255, 185, 75, 180) },
+ { RouteBicycle, dp::Color(255, 75, 140, 180) },
{ Arrow3D, dp::Color(255, 220, 120, 255) },
{ Arrow3DObsolete, dp::Color(215, 200, 160, 183) },
{ TrackHumanSpeed, dp::Color(255, 152, 0, 255) },
{ TrackCarSpeed, dp::Color(255, 202, 40, 255) },
{ TrackPlaneSpeed, dp::Color(255, 245, 160, 255) },
{ TrackUnknownDistance, dp::Color(150, 150, 150, 255) },
- { TrafficG0, dp::Color(180, 25, 25, 255) },
- { TrafficG1, dp::Color(230, 60, 55, 255) },
- { TrafficG2, dp::Color(230, 60, 55, 255) },
- { TrafficG3, dp::Color(250, 190, 45, 127) },
- { TrafficG4, dp::Color(250, 190, 45, 127) },
- { TrafficG5, dp::Color(55, 165, 55, 255) },
- { TrafficTempBlock, dp::Color(0, 0, 0, 255) },
+ { TrafficG0, dp::Color(25, 75, 25, 255) },
+ { TrafficG1, dp::Color(115, 80, 0, 127) },
+ { TrafficG2, dp::Color(115, 80, 0, 127) },
+ { TrafficG3, dp::Color(105, 20, 0, 255) },
+ { TrafficG4, dp::Color(105, 20, 0, 255) },
+ { TrafficG5, dp::Color(70, 15, 0, 255) },
+ { TrafficTempBlock, dp::Color(40, 40, 40, 255) },
{ TrafficUnknown, dp::Color(0, 0, 0, 0) },
+ { TrafficArrowLight, dp::Color(170, 170, 170, 255) },
+ { TrafficArrowDark, dp::Color(30, 30, 30, 255) },
+ { TrafficOutline, dp::Color(0, 0, 0, 255) },
}
},
};
diff --git a/drape_frontend/color_constants.hpp b/drape_frontend/color_constants.hpp
index c982fb72e3..b0faf94661 100644
--- a/drape_frontend/color_constants.hpp
+++ b/drape_frontend/color_constants.hpp
@@ -29,6 +29,9 @@ enum ColorConstant
TrafficG5,
TrafficTempBlock,
TrafficUnknown,
+ TrafficArrowLight,
+ TrafficArrowDark,
+ TrafficOutline
};
dp::Color GetColorConstant(MapStyle style, ColorConstant constant);
diff --git a/drape_frontend/traffic_generator.cpp b/drape_frontend/traffic_generator.cpp
index 8e625395f0..63e10daabb 100644
--- a/drape_frontend/traffic_generator.cpp
+++ b/drape_frontend/traffic_generator.cpp
@@ -323,7 +323,7 @@ bool TrafficGenerator::UpdateColoring(TrafficSegmentsColoring const & coloring)
void TrafficGenerator::ClearCache()
{
- m_colorsCacheValid = false;
+ InvalidateTexturesCache();
m_coloring.clear();
}
@@ -332,6 +332,11 @@ void TrafficGenerator::ClearCache(MwmSet::MwmId const & mwmId)
m_coloring.erase(mwmId);
}
+void TrafficGenerator::InvalidateTexturesCache()
+{
+ m_colorsCacheValid = false;
+}
+
void TrafficGenerator::FlushGeometry(TrafficBatcherKey const & key, dp::GLState const & state,
drape_ptr<dp::RenderBucket> && buffer)
{
diff --git a/drape_frontend/traffic_generator.hpp b/drape_frontend/traffic_generator.hpp
index 69ee1fb8ff..f8a4ccd5d4 100644
--- a/drape_frontend/traffic_generator.hpp
+++ b/drape_frontend/traffic_generator.hpp
@@ -179,6 +179,7 @@ public:
void ClearCache();
void ClearCache(MwmSet::MwmId const & mwmId);
+ void InvalidateTexturesCache();
bool IsColorsCacheRefreshed() const { return m_colorsCacheRefreshed; }
TrafficTexCoords ProcessCacheRefreshing();
diff --git a/drape_frontend/traffic_renderer.cpp b/drape_frontend/traffic_renderer.cpp
index efb6f0887e..eeab9b6698 100644
--- a/drape_frontend/traffic_renderer.cpp
+++ b/drape_frontend/traffic_renderer.cpp
@@ -169,6 +169,11 @@ void TrafficRenderer::RenderTraffic(ScreenBase const & screen, int zoomLevel,
m2::RectD const clipRect = screen.ClipRect();
+ auto const style = GetStyleReader().GetCurrentStyle();
+ dp::Color const lightArrowColor = df::GetColorConstant(style, df::TrafficArrowLight);
+ dp::Color const darkArrowColor = df::GetColorConstant(style, df::TrafficArrowDark);
+ dp::Color const outlineColor = df::GetColorConstant(style, df::TrafficOutline);
+
GLFunctions::glClearDepth();
for (TrafficRenderData & renderData : m_renderData)
{
@@ -238,6 +243,12 @@ void TrafficRenderer::RenderTraffic(ScreenBase const & screen, int zoomLevel,
uniforms.SetMatrix4x4Value("modelView", mv.m_data);
uniforms.SetFloatValue("u_opacity", 1.0f);
uniforms.SetFloatValue("u_outline", outline);
+ uniforms.SetFloatValue("u_lightArrowColor", lightArrowColor.GetRedF(),
+ lightArrowColor.GetGreenF(), lightArrowColor.GetBlueF());
+ uniforms.SetFloatValue("u_darkArrowColor", darkArrowColor.GetRedF(),
+ darkArrowColor.GetGreenF(), darkArrowColor.GetBlueF());
+ uniforms.SetFloatValue("u_outlineColor", outlineColor.GetRedF(),
+ outlineColor.GetGreenF(), outlineColor.GetBlueF());
uniforms.SetFloatValue("u_trafficParams", leftPixelHalfWidth, rightPixelHalfWidth,
invLeftPixelLength, zoomLevel >= minVisibleArrowZoomLevel ? 1.0f : 0.0f);
dp::ApplyUniforms(uniforms, program);