Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

revisit solutions to coordinate overflow at high zooms #2000

Closed
springmeyer opened this issue Sep 3, 2013 · 1 comment
Closed

revisit solutions to coordinate overflow at high zooms #2000

springmeyer opened this issue Sep 3, 2013 · 1 comment
Milestone

Comments

@springmeyer
Copy link
Member

Clipping solves potential coordinate overflow and the resulting rendering oddities when drawing large polygons at high zooms (see #1075 and #1076).

But clipping is not always viable. We should revisit this problem to figure out if other solutions might exist.

Clipping may be off in this case: http://support.mapbox.com/discussions/tilemill/6834-land-and-water-inverting-at-zoom-level-17

@springmeyer
Copy link
Member Author

looks like this is the blessed way to avoid overflows in agg, which I think we should use once I confirm no noticeable overhead

diff --git a/include/mapnik/agg_rasterizer.hpp b/include/mapnik/agg_rasterizer.hpp
index 1f93c55..5e82f03 100644
--- a/include/mapnik/agg_rasterizer.hpp
+++ b/include/mapnik/agg_rasterizer.hpp
@@ -31,7 +31,7 @@

 namespace mapnik {

-struct rasterizer :  agg::rasterizer_scanline_aa<>, mapnik::noncopyable {};
+struct rasterizer :  agg::rasterizer_scanline_aa<agg::rasterizer_sl_clip_int_sat>, mapnik::noncopyable {};

 }

springmeyer pushed a commit that referenced this issue Oct 2, 2013
springmeyer pushed a commit that referenced this issue Oct 3, 2013
springmeyer pushed a commit that referenced this issue Oct 3, 2013
herm added a commit that referenced this issue Oct 13, 2013
* commit '81f14b8d36b3839937510a877a3804a35d795151':
  Add currently failing test for #2000
herm added a commit that referenced this issue Oct 13, 2013
* commit 'de45801a3740a0729851e760da599788bbfb191d': (15 commits)
  Add visual test of multiple chained image filters
  use std::fabs not fabs
  ctrans: add getter for offsets
  ensure we do not query layers with no active styles
  add note about #2000 to changelog
  add xml needed for f91ae9f
  avoid integer overflows in agg by using clamping in agg:iround with agg::rasterizer_sl_clip_int_sat - closes #2000
  fix span_image_resample_rgba
  benchmark: add new rendering test harness and use to compare clipping impact on speeds at high and low zoom
  benchmark: add conv_clip_polygon + very basic validation for clipping tests
  ...
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant