summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLauren Budorick <lauren@mapbox.com>2018-02-27 12:32:47 -0800
committerLauren Budorick <lauren@mapbox.com>2018-02-27 12:32:47 -0800
commitc202e4116e94cafb944f19c7ec03af1beefc29ac (patch)
tree3dec0d8eb2d340ff8b178403a01dc91fdf29e891
parent7646c2d1dfab42ff1485f8fde486801c21bae569 (diff)
downloadqtlocation-mapboxgl-upstream/gradient.tar.gz
Use clipping for all lines, update gl-js SHAupstream/gradient
m---------mapbox-gl-js0
-rw-r--r--platform/darwin/src/MGLLineStyleLayer.h4
-rw-r--r--src/mbgl/renderer/layers/render_line_layer.cpp8
3 files changed, 4 insertions, 8 deletions
diff --git a/mapbox-gl-js b/mapbox-gl-js
-Subproject e284dcceb2b329493ca660e43dc765d21c3bf8c
+Subproject b3bb0e716e699d7a50d5255c91881c7d55ec87f
diff --git a/platform/darwin/src/MGLLineStyleLayer.h b/platform/darwin/src/MGLLineStyleLayer.h
index 2e642f25b5..6d0f3ac726 100644
--- a/platform/darwin/src/MGLLineStyleLayer.h
+++ b/platform/darwin/src/MGLLineStyleLayer.h
@@ -340,8 +340,8 @@ MGL_EXPORT
@property (nonatomic) MGLTransition lineGapWidthTransition;
/**
- ¡ EXPERIMENTAL, UNSUPPORTED ! Defines the color of a point of a line based on
- its progress along the line, if using gradient lines.
+ Defines a gradient with which to color a line feature. Can only be used with
+ GeoJSON sources.
This property is only applied to the style if `lineDasharray` is set to `nil`,
and `linePattern` is set to `nil`. Otherwise, it is ignored.
diff --git a/src/mbgl/renderer/layers/render_line_layer.cpp b/src/mbgl/renderer/layers/render_line_layer.cpp
index 88dab5cb1d..b6ad032c7b 100644
--- a/src/mbgl/renderer/layers/render_line_layer.cpp
+++ b/src/mbgl/renderer/layers/render_line_layer.cpp
@@ -62,12 +62,12 @@ void RenderLineLayer::render(PaintParameters& parameters, RenderSource*) {
assert(dynamic_cast<LineBucket*>(tile.tile.getBucket(*baseImpl)));
LineBucket& bucket = *reinterpret_cast<LineBucket*>(tile.tile.getBucket(*baseImpl));
- auto draw = [&] (auto& program, const auto& stencilMode, auto&& uniformValues) {
+ auto draw = [&] (auto& program, auto&& uniformValues) {
program.get(evaluated).draw(
parameters.context,
gl::Triangles(),
parameters.depthModeForSublayer(0, gl::DepthMode::ReadOnly),
- stencilMode,
+ parameters.stencilModeForClipping(tile.clip),
parameters.colorModeForRenderPass(),
std::move(uniformValues),
*bucket.vertexBuffer,
@@ -89,7 +89,6 @@ void RenderLineLayer::render(PaintParameters& parameters, RenderSource*) {
parameters.lineAtlas.bind(parameters.context, 0);
draw(parameters.programs.lineSDF,
- parameters.stencilModeForClipping(tile.clip),
LineSDFProgram::uniformValues(
evaluated,
parameters.pixelRatio,
@@ -110,7 +109,6 @@ void RenderLineLayer::render(PaintParameters& parameters, RenderSource*) {
parameters.imageManager.bind(parameters.context, 0);
draw(parameters.programs.linePattern,
- parameters.stencilModeForClipping(tile.clip),
LinePatternProgram::uniformValues(
evaluated,
tile,
@@ -126,7 +124,6 @@ void RenderLineLayer::render(PaintParameters& parameters, RenderSource*) {
}
draw(parameters.programs.lineGradient,
- gl::StencilMode::disabled(),
LineGradientProgram::uniformValues(
evaluated,
tile,
@@ -135,7 +132,6 @@ void RenderLineLayer::render(PaintParameters& parameters, RenderSource*) {
} else {
draw(parameters.programs.line,
- parameters.stencilModeForClipping(tile.clip),
LineProgram::uniformValues(
evaluated,
tile,