diff options
author | r.kuznetsov <r.kuznetsov@corp.mail.ru> | 2016-11-30 10:49:24 +0300 |
---|---|---|
committer | r.kuznetsov <r.kuznetsov@corp.mail.ru> | 2016-11-30 10:49:24 +0300 |
commit | 318509ff4f913375df5557bf928fade584bdd37d (patch) | |
tree | 78293aac46f97d0fe03a3d9cbf9cdbde4410d54a /drape_frontend | |
parent | b629151b2588085b0df5d851c878e7beb7679605 (diff) |
Tuned night style for traffic rendering
Diffstat (limited to 'drape_frontend')
-rw-r--r-- | drape_frontend/backend_renderer.cpp | 1 | ||||
-rw-r--r-- | drape_frontend/color_constants.cpp | 36 | ||||
-rw-r--r-- | drape_frontend/color_constants.hpp | 3 | ||||
-rw-r--r-- | drape_frontend/traffic_generator.cpp | 7 | ||||
-rw-r--r-- | drape_frontend/traffic_generator.hpp | 1 | ||||
-rw-r--r-- | drape_frontend/traffic_renderer.cpp | 11 |
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); |