Skip to content
This repository was archived by the owner on Aug 8, 2023. It is now read-only.

[core] fix opacity interpolation for composition expressions - #15738

Merged
ansis merged 3 commits into
masterfrom
port-gl-js-fix-8817
Oct 2, 2019
Merged

ansis merged 3 commits into
masterfrom
port-gl-js-fix-8817

Conversation

@ansis

@ansis ansis commented Oct 1, 2019

Copy link
Copy Markdown
Contributor

port mapbox/mapbox-gl-js#8818

Previously the interpolation factor could be out of the range 0 to 1 which could result in rendering errors.

I've skipped the render test because -native doesn't have a way to stop sources from loading new tiles. I started trying to add this but bailed because it doesn't seem like it's worth the effort. I opened #15737 to document this.

@ansis
ansis requested a review from tmpsantos October 1, 2019 19:56

@tmpsantos tmpsantos left a comment •

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM with squash + merge

@tmpsantos tmpsantos added the Core The cross-platform C++ core, aka mbgl label Oct 2, 2019
const float possiblyRoundedZoom = expression.useIntegerZoom ? std::floor(currentZoom) : currentZoom;

return std::tuple<float>{
::fmax(0.0, ::fmin(1.0, expression.interpolationFactor(zoomRange, possiblyRoundedZoom)))};

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

sad that std::clamp is C++17 :-/

@ansis
ansis merged commit dfca8fb into master Oct 2, 2019
@ansis
ansis deleted the port-gl-js-fix-8817 branch October 2, 2019 17:49
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

Core The cross-platform C++ core, aka mbgl

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants