summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAnsis Brammanis <brammanis@gmail.com>2014-08-13 16:16:08 -0700
committerKonstantin Käfer <mail@kkaefer.com>2014-08-15 15:52:53 +0200
commit32a1711d8cd00a5d85c61802f79619b85b9cc38a (patch)
tree06eafd07790c97fd4de063f766a04a06ed66c4db
parent478a1dae6701f73d2a1cbcc2b7c6470671f47c4a (diff)
downloadqtlocation-mapboxgl-32a1711d8cd00a5d85c61802f79619b85b9cc38a.tar.gz
remove support for composite layers
-rw-r--r--include/mbgl/renderer/painter.hpp6
-rw-r--r--include/mbgl/shader/composite_shader.hpp29
-rw-r--r--include/mbgl/style/property_key.hpp2
-rw-r--r--include/mbgl/style/style_properties.hpp11
-rw-r--r--include/mbgl/style/types.hpp2
-rw-r--r--src/map/map.cpp34
-rw-r--r--src/renderer/painter.cpp3
-rw-r--r--src/renderer/painter_composite.cpp31
-rw-r--r--src/renderer/painter_framebuffers.cpp124
-rw-r--r--src/shader/composite.fragment.glsl9
-rw-r--r--src/shader/composite.vertex.glsl9
-rw-r--r--src/shader/composite_shader.cpp49
-rw-r--r--src/style/property_fallback.cpp2
-rw-r--r--src/style/style_layer.cpp8
-rw-r--r--src/style/style_parser.cpp3
-rw-r--r--src/style/style_properties.cpp1
-rw-r--r--styles/bright/style.json103
17 files changed, 53 insertions, 373 deletions
diff --git a/include/mbgl/renderer/painter.hpp b/include/mbgl/renderer/painter.hpp
index 1ef5fee836..eb5f427898 100644
--- a/include/mbgl/renderer/painter.hpp
+++ b/include/mbgl/renderer/painter.hpp
@@ -18,7 +18,6 @@
#include <mbgl/shader/raster_shader.hpp>
#include <mbgl/shader/text_shader.hpp>
#include <mbgl/shader/dot_shader.hpp>
-#include <mbgl/shader/composite_shader.hpp>
#include <mbgl/shader/gaussian_shader.hpp>
#include <mbgl/map/transform_state.hpp>
@@ -46,7 +45,6 @@ class PrerenderedTexture;
struct FillProperties;
struct RasterProperties;
-struct CompositeProperties;
class LayerDescription;
class RasterTileData;
@@ -111,13 +109,11 @@ public:
void drawClippingMasks(const std::set<std::shared_ptr<StyleSource>> &sources);
void drawClippingMask(const mat4& matrix, const ClipID& clip);
- void clearFramebuffers();
void resetFramebuffer();
void bindFramebuffer();
void pushFramebuffer();
GLuint popFramebuffer();
void discardFramebuffers();
- void drawComposite(GLuint texture, const CompositeProperties &properties);
bool needsAnimation() const;
private:
@@ -172,7 +168,6 @@ public:
std::unique_ptr<RasterShader> rasterShader;
std::unique_ptr<TextShader> textShader;
std::unique_ptr<DotShader> dotShader;
- std::unique_ptr<CompositeShader> compositeShader;
std::unique_ptr<GaussianShader> gaussianShader;
// Set up the stencil quad we're using to generate the stencil mask.
@@ -193,7 +188,6 @@ public:
VertexArrayObject coveringRasterArray;
VertexArrayObject coveringGaussianArray;
- VertexArrayObject compositeArray;
VertexArrayObject matteArray;
// Set up the tile boundary lines we're using to draw the tile outlines.
diff --git a/include/mbgl/shader/composite_shader.hpp b/include/mbgl/shader/composite_shader.hpp
deleted file mode 100644
index c0c1704f3d..0000000000
--- a/include/mbgl/shader/composite_shader.hpp
+++ /dev/null
@@ -1,29 +0,0 @@
-#ifndef MBGL_SHADER_COMPOSITE_SHADER
-#define MBGL_SHADER_COMPOSITE_SHADER
-
-#include <mbgl/shader/shader.hpp>
-
-namespace mbgl {
-
-class CompositeShader : public Shader {
-public:
- CompositeShader();
-
- void bind(char *offset);
-
- void setImage(int32_t image);
- void setOpacity(float opacity);
-
-private:
- int32_t a_pos = -1;
-
- int32_t image = 0;
- int32_t u_image = -1;
-
- float opacity = 0;
- int32_t u_opacity = -1;
-};
-
-}
-
-#endif
diff --git a/include/mbgl/style/property_key.hpp b/include/mbgl/style/property_key.hpp
index aee5db0385..ec68ea991e 100644
--- a/include/mbgl/style/property_key.hpp
+++ b/include/mbgl/style/property_key.hpp
@@ -51,8 +51,6 @@ enum class PropertyKey {
TextTranslateY,
TextTranslateAnchor,
- CompositeOpacity,
-
RasterOpacity,
RasterHueRotate,
RasterBrightness, // for transitions only
diff --git a/include/mbgl/style/style_properties.hpp b/include/mbgl/style/style_properties.hpp
index f12ab430e3..742ae63f0f 100644
--- a/include/mbgl/style/style_properties.hpp
+++ b/include/mbgl/style/style_properties.hpp
@@ -76,16 +76,6 @@ struct SymbolProperties {
}
};
-
-struct CompositeProperties {
- inline CompositeProperties() {}
- float opacity = 1.0f;
-
- inline bool isVisible() const {
- return opacity > 0;
- }
-};
-
struct RasterProperties {
inline RasterProperties() {}
float opacity = 1.0f;
@@ -109,7 +99,6 @@ typedef util::variant<
FillProperties,
LineProperties,
SymbolProperties,
- CompositeProperties,
RasterProperties,
BackgroundProperties,
std::false_type
diff --git a/include/mbgl/style/types.hpp b/include/mbgl/style/types.hpp
index 55b7685fd3..fa21f819a5 100644
--- a/include/mbgl/style/types.hpp
+++ b/include/mbgl/style/types.hpp
@@ -19,7 +19,6 @@ enum class StyleLayerType : uint8_t {
Line,
Symbol,
Raster,
- Composite,
Background
};
@@ -29,7 +28,6 @@ MBGL_DEFINE_ENUM_CLASS(StyleLayerTypeClass, StyleLayerType, {
{ StyleLayerType::Line, "line" },
{ StyleLayerType::Symbol, "symbol" },
{ StyleLayerType::Raster, "raster" },
- { StyleLayerType::Composite, "composite" },
{ StyleLayerType::Background, "background" },
{ StyleLayerType(-1), "unknown" },
});
diff --git a/src/map/map.cpp b/src/map/map.cpp
index b974c15329..dfac1ae6c7 100644
--- a/src/map/map.cpp
+++ b/src/map/map.cpp
@@ -539,10 +539,6 @@ void Map::prepare() {
bool dimensionsChanged = oldState.getFramebufferWidth() != state.getFramebufferWidth() ||
oldState.getFramebufferHeight() != state.getFramebufferHeight();
- if (pixelRatioChanged || dimensionsChanged) {
- painter.clearFramebuffers();
- }
-
animationTime = util::now();
updateSources();
style->updateProperties(state.getNormalizedZoom(), animationTime);
@@ -564,8 +560,6 @@ void Map::render() {
painter.clear();
- painter.resetFramebuffer();
-
painter.resize();
painter.changeMatrix();
@@ -639,33 +633,7 @@ void Map::renderLayers(std::shared_ptr<StyleLayerGroup> group) {
}
void Map::renderLayer(std::shared_ptr<StyleLayer> layer_desc, RenderPass pass, const Tile::ID* id, const mat4* matrix) {
- if (layer_desc->layers && layer_desc->type != StyleLayerType::Raster) {
- // This is a layer group. We render them during our translucent render pass.
- if (pass == RenderPass::Translucent) {
- const CompositeProperties &properties = layer_desc->getProperties<CompositeProperties>();
- if (properties.isVisible()) {
- gl::group group(std::string("group: ") + layer_desc->id);
-
- if (debug::renderTree) {
- std::cout << std::string(indent++ * 4, ' ') << "+ " << layer_desc->id
- << " (Composite) {" << std::endl;
- }
-
- painter.pushFramebuffer();
-
- renderLayers(layer_desc->layers);
-
- GLuint texture = painter.popFramebuffer();
-
- // Render the previous texture onto the screen.
- painter.drawComposite(texture, properties);
-
- if (debug::renderTree) {
- std::cout << std::string(--indent * 4, ' ') << "}" << std::endl;
- }
- }
- }
- } else if (layer_desc->type == StyleLayerType::Background) {
+ if (layer_desc->type == StyleLayerType::Background) {
// This layer defines the background color.
} else {
// This is a singular layer.
diff --git a/src/renderer/painter.cpp b/src/renderer/painter.cpp
index 5aba3b1b8a..e813ad24eb 100644
--- a/src/renderer/painter.cpp
+++ b/src/renderer/painter.cpp
@@ -45,7 +45,6 @@ void Painter::setup() {
assert(rasterShader);
assert(textShader);
assert(dotShader);
- assert(compositeShader);
assert(gaussianShader);
@@ -76,12 +75,10 @@ void Painter::setupShaders() {
if (!rasterShader) rasterShader = std::make_unique<RasterShader>();
if (!textShader) textShader = std::make_unique<TextShader>();
if (!dotShader) dotShader = std::make_unique<DotShader>();
- if (!compositeShader) compositeShader = std::make_unique<CompositeShader>();
if (!gaussianShader) gaussianShader = std::make_unique<GaussianShader>();
}
void Painter::cleanup() {
- clearFramebuffers();
}
void Painter::resize() {
diff --git a/src/renderer/painter_composite.cpp b/src/renderer/painter_composite.cpp
deleted file mode 100644
index 42d0ad5592..0000000000
--- a/src/renderer/painter_composite.cpp
+++ /dev/null
@@ -1,31 +0,0 @@
-#include <mbgl/renderer/painter.hpp>
-#include <mbgl/style/style_properties.hpp>
-
-#include <iostream>
-
-using namespace mbgl;
-
-void Painter::drawComposite(GLuint texture, const CompositeProperties &properties) {
- // We're doing full-screen framebuffer blending, so no need to do stencil testing here.
- glDisable(GL_STENCIL_TEST);
-
- useProgram(compositeShader->program);
- compositeShader->setMatrix(nativeMatrix);
-
- glActiveTexture(GL_TEXTURE0);
- glBindTexture(GL_TEXTURE_2D, texture);
- compositeShader->setImage(0);
-
- // TODO: translate
- compositeShader->setOpacity(properties.opacity);
-
- // Draw the full screen texture.
- // TODO: Do more blend effects like multiply + blur
- compositeArray.bind(*compositeShader, tileStencilBuffer, BUFFER_OFFSET(0));
- glDrawArrays(GL_TRIANGLES, 0, (GLsizei)tileStencilBuffer.index());
-
- glBindTexture(GL_TEXTURE_2D, 0);
-
- // Reset back.
- glEnable(GL_STENCIL_TEST);
-}
diff --git a/src/renderer/painter_framebuffers.cpp b/src/renderer/painter_framebuffers.cpp
deleted file mode 100644
index f221b884ce..0000000000
--- a/src/renderer/painter_framebuffers.cpp
+++ /dev/null
@@ -1,124 +0,0 @@
-#include <mbgl/renderer/painter.hpp>
-#include <mbgl/renderer/fill_bucket.hpp>
-#include <mbgl/map/map.hpp>
-#include <mbgl/map/view.hpp>
-#include <mbgl/util/clip_ids.hpp>
-
-using namespace mbgl;
-
-
-void Painter::clearFramebuffers() {
- glBindFramebuffer(GL_FRAMEBUFFER, map.view.root_fbo());
-
- // Delete any framebuffers that we might have allocated
- glDeleteTextures((int)fbos_color.size(), fbos.data());
- fbos_color.clear();
-
- if (fbo_depth_stencil != 0) {
- glDeleteRenderbuffers(1, &fbo_depth_stencil);
- fbo_depth_stencil = 0;
- }
-
- glDeleteFramebuffers((int)fbos.size(), fbos.data());
- fbos.clear();
-}
-
-void Painter::bindFramebuffer() {
- if (fbo_level < 0) {
- glBindFramebuffer(GL_FRAMEBUFFER, map.view.root_fbo());
- } else if (fbos.size() > (size_t) fbo_level) {
- GLuint fbo = fbos[fbo_level];
- glBindFramebuffer(GL_FRAMEBUFFER, fbo);
-#if GL_EXT_discard_framebuffer
- const GLenum discards[] = { GL_COLOR_ATTACHMENT0, GL_DEPTH_ATTACHMENT, GL_STENCIL_ATTACHMENT };
- glDiscardFramebufferEXT(GL_FRAMEBUFFER, 3, discards);
-#endif
- } else {
- // TODO: Convert this to textures so we can composite them and use them in blend operations
-
- GLuint fbo_color;
- glGenTextures(1, &fbo_color);
- glBindTexture(GL_TEXTURE_2D, fbo_color);
- glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST);
- glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST);
- glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE);
- glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE);
- glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, map.getState().getFramebufferWidth(), map.getState().getFramebufferHeight(), 0, GL_RGBA, GL_UNSIGNED_BYTE, 0);
- glBindTexture(GL_TEXTURE_2D, 0);
- fbos_color.emplace_back(fbo_color);
-
- // Use a shared depth/stencil buffer for all framebuffer objects
- if (fbo_depth_stencil == 0) {
- // Create depth/stencil buffer
- glGenRenderbuffers(1, &fbo_depth_stencil);
- glBindRenderbuffer(GL_RENDERBUFFER, fbo_depth_stencil);
- glRenderbufferStorage(GL_RENDERBUFFER, GL_DEPTH24_STENCIL8, map.getState().getFramebufferWidth(), map.getState().getFramebufferHeight());
- glBindRenderbuffer(GL_RENDERBUFFER, 0);
- }
-
- // Allocate new framebuffer
- GLuint fbo = 0;
- glGenFramebuffers(1, &fbo);
- glBindFramebuffer(GL_FRAMEBUFFER, fbo);
- fbos.emplace_back(fbo);
-
- // Assemble the FBO
- glFramebufferTexture2D(GL_FRAMEBUFFER, GL_COLOR_ATTACHMENT0, GL_TEXTURE_2D, fbo_color, 0);
-#ifdef GL_ES_VERSION_2_0
- glFramebufferRenderbuffer(GL_FRAMEBUFFER, GL_DEPTH_ATTACHMENT, GL_RENDERBUFFER, fbo_depth_stencil);
- glFramebufferRenderbuffer(GL_FRAMEBUFFER, GL_STENCIL_ATTACHMENT, GL_RENDERBUFFER, fbo_depth_stencil);
-#else
- glFramebufferRenderbuffer(GL_FRAMEBUFFER, GL_DEPTH_STENCIL_ATTACHMENT, GL_RENDERBUFFER, fbo_depth_stencil);
-#endif
- GLenum status = glCheckFramebufferStatus(GL_FRAMEBUFFER);
- if (status != GL_FRAMEBUFFER_COMPLETE) {
- fprintf(stderr, "Couldn't create framebuffer: ");
- switch (status) {
- case GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT: fprintf(stderr, "incomplete attachment\n"); break;
- case GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT: fprintf(stderr, "incomplete missing attachment\n"); break;
-#ifdef GL_ES_VERSION_2_0
- case GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS: fprintf(stderr, "incomplete dimensions\n"); break;
-#else
- case GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER: fprintf(stderr, "incomplete draw buffer\n"); break;
-#endif
- case GL_FRAMEBUFFER_UNSUPPORTED: fprintf(stderr, "unsupported\n"); break;
- default: fprintf(stderr, "other\n"); break;
- }
- return;
- }
- }
-}
-
-void Painter::resetFramebuffer() {
- if (fbo_level >= 0) {
- fbo_level = -1;
- bindFramebuffer();
- }
-
- fbo_depth_stencil_valid = false;
-}
-
-void Painter::pushFramebuffer() {
- fbo_level++;
- bindFramebuffer();
-
- if (fbo_depth_stencil_valid) {
- glClear(GL_COLOR_BUFFER_BIT);
- } else {
- depthMask(true);
- glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT | GL_STENCIL_BUFFER_BIT);
- glColorMask(false, false, false, false);
-
- drawClippingMasks(map.getActiveSources());
-
- glColorMask(true, true, true, true);
- fbo_depth_stencil_valid = true;
- }
-}
-
-GLuint Painter::popFramebuffer() {
- GLuint texture = fbos_color[fbo_level];
- fbo_level--;
- bindFramebuffer();
- return texture;
-}
diff --git a/src/shader/composite.fragment.glsl b/src/shader/composite.fragment.glsl
deleted file mode 100644
index d5adc402e6..0000000000
--- a/src/shader/composite.fragment.glsl
+++ /dev/null
@@ -1,9 +0,0 @@
-uniform sampler2D u_image;
-uniform float u_opacity;
-
-varying vec2 v_pos;
-
-void main() {
- vec4 color = texture2D(u_image, v_pos);
- gl_FragColor = color * u_opacity;
-}
diff --git a/src/shader/composite.vertex.glsl b/src/shader/composite.vertex.glsl
deleted file mode 100644
index d7e8f0a8af..0000000000
--- a/src/shader/composite.vertex.glsl
+++ /dev/null
@@ -1,9 +0,0 @@
-attribute vec2 a_pos;
-
-uniform mat4 u_matrix;
-varying vec2 v_pos;
-
-void main() {
- gl_Position = u_matrix * vec4(a_pos, 0, 1);
- v_pos = (gl_Position.xy + 1.0) / 2.0;
-}
diff --git a/src/shader/composite_shader.cpp b/src/shader/composite_shader.cpp
deleted file mode 100644
index 9ed0a1b83e..0000000000
--- a/src/shader/composite_shader.cpp
+++ /dev/null
@@ -1,49 +0,0 @@
-#include <mbgl/shader/composite_shader.hpp>
-#include <mbgl/shader/shaders.hpp>
-#include <mbgl/platform/gl.hpp>
-
-#include <cstdio>
-
-using namespace mbgl;
-
-CompositeShader::CompositeShader()
- : Shader(
- "composite",
- shaders[COMPOSITE_SHADER].vertex,
- shaders[COMPOSITE_SHADER].fragment
- ) {
- if (!valid) {
- fprintf(stderr, "invalid composite shader\n");
- return;
- }
-
- a_pos = glGetAttribLocation(program, "a_pos");
-
- u_matrix = glGetUniformLocation(program, "u_matrix");
- u_image = glGetUniformLocation(program, "u_image");
- u_opacity = glGetUniformLocation(program, "u_opacity");
-
- // fprintf(stderr, "CompositeShader:\n");
- // fprintf(stderr, " - u_matrix: %d\n", u_matrix);
- // fprintf(stderr, " - u_image: %d\n", u_image);
- // fprintf(stderr, " - u_opacity: %f\n", u_opacity);
-}
-
-void CompositeShader::bind(char *offset) {
- glEnableVertexAttribArray(a_pos);
- glVertexAttribPointer(a_pos, 2, GL_SHORT, false, 0, offset);
-}
-
-void CompositeShader::setImage(int32_t new_image) {
- if (image != new_image) {
- glUniform1i(u_image, new_image);
- image = new_image;
- }
-}
-
-void CompositeShader::setOpacity(float new_opacity) {
- if (opacity != new_opacity) {
- glUniform1f(u_opacity, new_opacity);
- opacity = new_opacity;
- }
-}
diff --git a/src/style/property_fallback.cpp b/src/style/property_fallback.cpp
index 4028980cbe..0f8335dd66 100644
--- a/src/style/property_fallback.cpp
+++ b/src/style/property_fallback.cpp
@@ -44,8 +44,6 @@ const std::map<PropertyKey, PropertyValue> PropertyFallbackValue::properties = {
{ PropertyKey::TextTranslateY, defaultStyleProperties<SymbolProperties>().text.translate[1] },
{ PropertyKey::TextTranslateAnchor, defaultStyleProperties<SymbolProperties>().text.translate_anchor },
- { PropertyKey::CompositeOpacity, defaultStyleProperties<CompositeProperties>().opacity },
-
{ PropertyKey::RasterOpacity, defaultStyleProperties<RasterProperties>().opacity },
{ PropertyKey::RasterHueRotate, defaultStyleProperties<RasterProperties>().hue_rotate },
{ PropertyKey::RasterBrightnessLow, defaultStyleProperties<RasterProperties>().brightness[0] },
diff --git a/src/style/style_layer.cpp b/src/style/style_layer.cpp
index 520c183780..d4e6d19db4 100644
--- a/src/style/style_layer.cpp
+++ b/src/style/style_layer.cpp
@@ -217,13 +217,6 @@ void StyleLayer::applyStyleProperties<SymbolProperties>(const float z, const tim
}
template <>
-void StyleLayer::applyStyleProperties<CompositeProperties>(const float z, const timestamp now) {
- properties.set<CompositeProperties>();
- CompositeProperties &composite = properties.get<CompositeProperties>();
- applyStyleProperty(PropertyKey::CompositeOpacity, composite.opacity, z, now);
-}
-
-template <>
void StyleLayer::applyStyleProperties<RasterProperties>(const float z, const timestamp now) {
properties.set<RasterProperties>();
RasterProperties &raster = properties.get<RasterProperties>();
@@ -255,7 +248,6 @@ void StyleLayer::updateProperties(float z, const timestamp now) {
case StyleLayerType::Line: applyStyleProperties<LineProperties>(z, now); break;
case StyleLayerType::Symbol: applyStyleProperties<SymbolProperties>(z, now); break;
case StyleLayerType::Raster: applyStyleProperties<RasterProperties>(z, now); break;
- case StyleLayerType::Composite: applyStyleProperties<CompositeProperties>(z, now); break;
case StyleLayerType::Background: applyStyleProperties<BackgroundProperties>(z, now); break;
default: properties.set<std::false_type>(); break;
}
diff --git a/src/style/style_parser.cpp b/src/style/style_parser.cpp
index 02a7835358..0c0636695e 100644
--- a/src/style/style_parser.cpp
+++ b/src/style/style_parser.cpp
@@ -628,9 +628,6 @@ void StyleParser::parseStyle(JSVal value, ClassProperties &klass) {
parseOptionalProperty<Function<float>>("text-translate", { Key::TextTranslateX, Key::TextTranslateY }, klass, value);
parseOptionalProperty<PropertyTransition>("transition-text-translate", Key::TextTranslate, klass, value);
- parseOptionalProperty<Function<float>>("composite-opacity", Key::CompositeOpacity, klass, value);
- parseOptionalProperty<PropertyTransition>("transition-composite-opacity", Key::CompositeOpacity, klass, value);
-
parseOptionalProperty<Function<float>>("raster-opacity", Key::RasterOpacity, klass, value);
parseOptionalProperty<PropertyTransition>("transition-raster-opacity", Key::RasterOpacity, klass, value);
parseOptionalProperty<Function<float>>("raster-hue-rotate", Key::RasterHueRotate, klass, value);
diff --git a/src/style/style_properties.cpp b/src/style/style_properties.cpp
index 1b05528d2f..29730fb85b 100644
--- a/src/style/style_properties.cpp
+++ b/src/style/style_properties.cpp
@@ -5,7 +5,6 @@ namespace mbgl {
template<> const FillProperties &defaultStyleProperties() { static const FillProperties p; return p; }
template<> const LineProperties &defaultStyleProperties() { static const LineProperties p; return p; }
template<> const SymbolProperties &defaultStyleProperties() { static const SymbolProperties p; return p; }
-template<> const CompositeProperties &defaultStyleProperties() { static const CompositeProperties p; return p; }
template<> const RasterProperties &defaultStyleProperties() { static const RasterProperties p; return p; }
template<> const BackgroundProperties &defaultStyleProperties() { static const BackgroundProperties p; return p; }
diff --git a/styles/bright/style.json b/styles/bright/style.json
index 4d6dad99cf..7b1c6e9c33 100644
--- a/styles/bright/style.json
+++ b/styles/bright/style.json
@@ -1,6 +1,6 @@
{
"version": 4,
- "sprite": "img/sprite",
+ "sprite": "https://www.mapbox.com/mapbox-gl-styles/sprites/bright",
"glyphs": "https://mapbox.s3.amazonaws.com/gl-glyphs-256/{fontstack}/{range}.pbf",
"constants": {
"@name": "{name_en}",
@@ -11,6 +11,7 @@
"@land": "#f8f4f0",
"@water": "#a0c8f0",
"@admin": "#446",
+ "@admin-opacity": 0.5,
"@park": "#d8e8c8",
"@cemetary": "#e0e4dd",
"@hospital": "#fde",
@@ -45,7 +46,7 @@
"@tunnel_line_dasharray": [{
"base": 1.5, "stops": [[12, 6], [20, 9]]
}, {
- "base": 1.5, "stops": [[12, 2], [20, 3]]
+ "base": 1.5, "stops": [[12, 2], [20, 3]]
}],
"@motorway_width": {"base": 1.2, "stops": [[6.5, 0], [7, 0.5], [20, 18]]},
"@motorway_casing_width": {"base": 1.2, "stops": [[5, 0.4], [6, 0.6], [7, 1.5], [20, 22]]},
@@ -55,14 +56,14 @@
"@main_casing_width": {"base": 1.2, "stops": [[5, 0.1], [6, 0.2], [7, 1.5], [20, 18]]},
"@street_width": {"base": 1.2, "stops": [[13.5, 0], [14, 2.5], [20, 11.5]]},
"@street_casing_width": {"base": 1.2, "stops": [[12, 0.5], [13, 1], [14, 4], [20, 15]]},
- "@street_casing_opacity": {"stops": [[12, 0], [12.5, 1]]},
+ "@street_casing_opacity": {"stops": [[12, 0], [12.5, 1]]},
"@service_casing_width": {"base": 1.2, "stops": [[15, 1], [16, 4], [20, 11]]},
"@service_width": {"base": 1.2, "stops": [[15.5, 0], [16, 2], [20, 7.5]]},
"@path_width": {"base": 1.2, "stops": [[15, 1.2], [20, 4]]},
"@path_line_dasharray": [{
"base": 1.2, "stops": [[15, 2], [20, 4]]
},{
- "base": 1.2, "stops": [[15, 1], [20, 2]]
+ "base": 1.2, "stops": [[15, 1], [20, 2]]
}],
"@rail_width": {"base": 1.4, "stops": [[14, 0.4], [15, 0.75], [20, 2]]},
"@rail_hatch_width": {"base": 1.4, "stops": [[14.5, 0], [15, 3], [20, 8]]},
@@ -74,7 +75,7 @@
"@admin_level_2_width": {
"base": 1,
"stops": [[4, 1.4], [5, 2], [12, 8]]
- }
+ }
},
"sources": {
"mapbox": {
@@ -186,7 +187,7 @@
"stops": [[13, 0.5], [20, 6]]
}
},
- "type": "line"
+ "type": "line"
}, {
"id": "water",
"source": "mapbox",
@@ -204,7 +205,7 @@
"fill-color": "white",
"fill-opacity": 0.3,
"fill-translate": [0, 2.5]
- }
+ }
}, {
"id": "water_pattern",
"ref": "water",
@@ -230,7 +231,7 @@
"source": "mapbox",
"source-layer": "aeroway",
"min-zoom": 11,
- "filter": {
+ "filter": {
"$type": "LineString",
"type": "runway" },
"style": {
@@ -246,7 +247,7 @@
"source": "mapbox",
"source-layer": "aeroway",
"min-zoom": 11,
- "filter": {
+ "filter": {
"$type": "LineString",
"type": "taxiway" },
"style": {
@@ -294,7 +295,7 @@
"line-dasharray": "@tunnel_line_dasharray",
"line-width": "@motorway_link_casing_width"
},
- "type": "line"
+ "type": "line"
}, {
"id": "tunnel_service_casing",
"source": "mapbox",
@@ -309,7 +310,7 @@
"line-dasharray": "@tunnel_line_dasharray",
"line-width": "@service_casing_width"
},
- "type": "line"
+ "type": "line"
}, {
"id": "tunnel_street_casing",
"source": "mapbox",
@@ -324,7 +325,7 @@
"line-width": "@street_casing_width",
"line-opacity": "@street_casing_opacity"
},
- "type": "line"
+ "type": "line"
}, {
"id": "tunnel_main_casing",
"source": "mapbox",
@@ -339,7 +340,7 @@
"line-dasharray": "@tunnel_line_dasharray",
"line-width": "@main_casing_width"
},
- "type": "line"
+ "type": "line"
}, {
"id": "tunnel_motorway_casing",
"source": "mapbox",
@@ -365,42 +366,42 @@
"line-color": "@path",
"line-dasharray": "@path_line_dasharray",
"line-width": "@path_width"
- }
+ }
}, {
"id": "tunnel_motorway_link",
"ref": "tunnel_motorway_link_casing",
"style": {
"line-color": "@motorway",
"line-width": "@motorway_link_width"
- }
+ }
}, {
"id": "tunnel_service",
"ref": "tunnel_service_casing",
"style": {
"line-color": "@street",
"line-width": "@service_width"
- }
+ }
}, {
"id": "tunnel_street",
"ref": "tunnel_street_casing",
"style": {
"line-color": "@street",
"line-width": "@street_width"
- }
+ }
}, {
"id": "tunnel_main",
"ref": "tunnel_main_casing",
"style": {
"line-color": "@main_tunnel",
"line-width": "@main_width"
- }
+ }
}, {
"id": "tunnel_motorway",
"ref": "tunnel_motorway_casing",
"style": {
"line-color": "@motorway_tunnel",
"line-width": "@motorway_width"
- }
+ }
}, {
"id": "tunnel_major_rail",
"source": "mapbox",
@@ -418,7 +419,7 @@
"line-color": "@rail",
"line-dasharray": "@rail_hatch_line_dasharray",
"line-width": "@rail_hatch_width"
- }
+ }
}, {
"id": "road_motorway_link_casing",
"source": "mapbox",
@@ -433,7 +434,7 @@
"line-color": "@motorway_casing",
"line-width": "@motorway_link_casing_width"
},
- "type": "line"
+ "type": "line"
}, {
"id": "road_service_casing",
"source": "mapbox",
@@ -447,7 +448,7 @@
"line-color": "@street_casing",
"line-width": "@service_casing_width"
},
- "type": "line"
+ "type": "line"
}, {
"id": "road_street_casing",
"source": "mapbox",
@@ -462,7 +463,7 @@
"line-width": "@street_casing_width",
"line-opacity": "@street_casing_opacity"
},
- "type": "line"
+ "type": "line"
}, {
"id": "road_main_casing",
"source": "mapbox",
@@ -476,7 +477,7 @@
"line-color": "@motorway_casing",
"line-width": "@main_casing_width"
},
- "type": "line"
+ "type": "line"
}, {
"id": "road_motorway_casing",
"source": "mapbox",
@@ -491,7 +492,7 @@
"line-color": "@motorway_casing",
"line-width": "@motorway_casing_width"
},
- "type": "line"
+ "type": "line"
}, {
"id": "road_path",
"source": "mapbox",
@@ -502,35 +503,35 @@
"line-dasharray": "@path_line_dasharray",
"line-width": "@path_width"
},
- "type": "line"
+ "type": "line"
}, {
"id": "road_motorway_link",
"ref": "road_motorway_link_casing",
"style": {
"line-color": "@motorway",
"line-width": "@motorway_link_width"
- }
+ }
}, {
"id": "road_service",
"ref": "road_service_casing",
"style": {
"line-color": "@street",
"line-width": "@service_width"
- }
+ }
}, {
"id": "road_street",
"ref": "road_street_casing",
"style": {
"line-color": "@street",
"line-width": "@street_width"
- }
+ }
}, {
"id": "road_main",
"ref": "road_main_casing",
"style": {
"line-color": "@main",
"line-width": "@main_width"
- }
+ }
}, {
"id": "road_motorway",
"ref": "road_motorway_casing",
@@ -538,7 +539,7 @@
"line-color": "@motorway",
"line-width": "@motorway_width"
},
- "type": "line"
+ "type": "line"
}, {
"id": "road_major_rail",
"source": "mapbox",
@@ -556,7 +557,7 @@
"line-color": "@rail",
"line-dasharray": "@rail_hatch_line_dasharray",
"line-width": "@rail_hatch_width"
- }
+ }
}, {
"id": "bridge_motorway_link_casing",
"source": "mapbox",
@@ -569,7 +570,7 @@
"line-color": "@motorway_casing",
"line-width": "@motorway_link_casing_width"
},
- "type": "line"
+ "type": "line"
}, {
"id": "bridge_motorway_casing",
"source": "mapbox",
@@ -582,7 +583,7 @@
"line-color": "@motorway_casing",
"line-width": "@motorway_casing_width"
},
- "type": "line"
+ "type": "line"
}, {
"id": "bridge_service_casing",
"source": "mapbox",
@@ -595,7 +596,7 @@
"line-color": "@street_casing",
"line-width": "@service_casing_width"
},
- "type": "line"
+ "type": "line"
}, {
"id": "bridge_street_casing",
"source": "mapbox",
@@ -609,7 +610,7 @@
"line-width": "@street_casing_width",
"line-opacity": "@street_casing_opacity"
},
- "type": "line"
+ "type": "line"
}, {
"id": "bridge_main_casing",
"source": "mapbox",
@@ -622,7 +623,7 @@
"line-color": "@motorway_casing",
"line-width": "@main_casing_width"
},
- "type": "line"
+ "type": "line"
}, {
"id": "bridge_path",
"source": "mapbox",
@@ -633,42 +634,42 @@
"line-dasharray": "@path_line_dasharray",
"line-width": "@path_width"
},
- "type": "line"
+ "type": "line"
}, {
"id": "bridge_motorway_link",
"ref": "bridge_motorway_link_casing",
"style": {
"line-color": "@motorway",
"line-width": "@motorway_link_width"
- }
+ }
}, {
"id": "bridge_service",
"ref": "bridge_service_casing",
"style": {
"line-color": "@street",
"line-width": "@service_width"
- }
+ }
}, {
"id": "bridge_street",
"ref": "bridge_street_casing",
"style": {
"line-color": "@street",
"line-width": "@street_width"
- }
+ }
}, {
"id": "bridge_main",
"ref": "bridge_main_casing",
"style": {
"line-color": "@main",
"line-width": "@main_width"
- }
+ }
}, {
"id": "bridge_motorway",
"ref": "bridge_motorway_casing",
"style": {
"line-color": "@motorway",
"line-width": "@motorway_width"
- }
+ }
}, {
"id": "bridge_major_rail",
"source": "mapbox",
@@ -852,7 +853,7 @@
"stops": [[4, 13], [7, 17]]
}
},
- "type": "symbol"
+ "type": "symbol"
}, {
"id": "country_label_4",
"source": "mapbox",
@@ -923,7 +924,7 @@
"stops": [[3, 18], [4, 22]]
}
},
- "type": "symbol"
+ "type": "symbol"
}, {
"id": "marine_label_point_2",
"source": "mapbox",
@@ -968,7 +969,7 @@
"stops": [[3, 14], [4, 16]]
}
},
- "type": "symbol"
+ "type": "symbol"
}, {
"id": "marine_label_3",
"source": "mapbox",
@@ -1013,7 +1014,7 @@
"stops": [[3, 11], [4, 14]]
}
},
- "type": "symbol"
+ "type": "symbol"
}, {
"id": "marine_label_4",
"source": "mapbox",
@@ -1058,7 +1059,7 @@
"stops": [[3, 11], [4, 12]]
}
},
- "type": "symbol"
+ "type": "symbol"
}, {
"id": "place_label_city",
"source": "mapbox",
@@ -1142,7 +1143,7 @@
"text-color": "#765",
"text-size": 11
},
- "type": "symbol"
+ "type": "symbol"
}, {
"id": "road_label",
"source": "mapbox",
@@ -1163,7 +1164,7 @@
"stops": [[13, 12], [14, 13]]
}
},
- "type": "symbol"
+ "type": "symbol"
}, {
"id": "place_label_other",
"source": "mapbox",
@@ -1326,4 +1327,4 @@
},
"type": "symbol"
}]
-} \ No newline at end of file
+}