Thursday, April 22, 2010

More Accurate Tile Connection

I just fixed (R162) an old and forgotten bug in tile connection. When I was working on the tiles, there were a lot of things to do, and one thing that was left to do was more accurate overlap test.

At the time of writing the code, I took a little shortcut and make the edge overlap test to use axis aligned rectangles instead of something more accurate. While most of the time this is ok, it fails when a tilted surface is on top (or under) of another surface. In that case the edge check test becomes too liberal.

I fixed this now so that the edge connection test uses tilted rectangle, instead of axis-aligned bounding box. If you get tile border connection error, let me know.

You can generate one tile at a time. Like in above picture the tile size is quite small (something like 4x4m). So if something changes within a tile, you can recalc that tile only. With the above tile size, depending on your data, it may take something between 5 to 50ms. Yakov has done some nice stuff with it: http://yak32.blogspot.com/