From c202e4116e94cafb944f19c7ec03af1beefc29ac Mon Sep 17 00:00:00 2001 From: Lauren Budorick Date: Tue, 27 Feb 2018 12:32:47 -0800 Subject: Use clipping for all lines, update gl-js SHA --- mapbox-gl-js | 2 +- platform/darwin/src/MGLLineStyleLayer.h | 4 ++-- src/mbgl/renderer/layers/render_line_layer.cpp | 8 ++------ 3 files changed, 5 insertions(+), 9 deletions(-) diff --git a/mapbox-gl-js b/mapbox-gl-js index e284dcceb..b3bb0e716 160000 --- a/mapbox-gl-js +++ b/mapbox-gl-js @@ -1 +1 @@ -Subproject commit e284dcceb2b329493ca660e43dc765d21c3bf8c8 +Subproject commit b3bb0e716e699d7a50d5255c91881c7d55ec87f1 diff --git a/platform/darwin/src/MGLLineStyleLayer.h b/platform/darwin/src/MGLLineStyleLayer.h index 2e642f25b..6d0f3ac72 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 88dab5cb1..b6ad032c7 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(tile.tile.getBucket(*baseImpl))); LineBucket& bucket = *reinterpret_cast(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, -- cgit v1.2.3