diff options
author | Lauren Budorick <lauren@mapbox.com> | 2018-02-27 12:32:47 -0800 |
---|---|---|
committer | Lauren Budorick <lauren@mapbox.com> | 2018-02-27 12:32:47 -0800 |
commit | c202e4116e94cafb944f19c7ec03af1beefc29ac (patch) | |
tree | 3dec0d8eb2d340ff8b178403a01dc91fdf29e891 | |
parent | 7646c2d1dfab42ff1485f8fde486801c21bae569 (diff) | |
download | qtlocation-mapboxgl-c202e4116e94cafb944f19c7ec03af1beefc29ac.tar.gz |
Use clipping for all lines, update gl-js SHAupstream/gradient
m--------- | mapbox-gl-js | 0 | ||||
-rw-r--r-- | platform/darwin/src/MGLLineStyleLayer.h | 4 | ||||
-rw-r--r-- | src/mbgl/renderer/layers/render_line_layer.cpp | 8 |
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, |