[sldev] More detailed map images: possible?

Philippe (Merov) Bossut merov at lindenlab.com
Tue Jan 26 14:39:06 PST 2010


Hi,

Thanks Kelly for the answer. Yes, the map rendering was rewritten a year ago
by yours truly and some other Lindens. Quite a few things changed  since
2008:

On Tue, Jan 26, 2010 at 8:03 AM, Stickman <stickman at gmail.com> wrote:

> ---
> 1. The maximum height that the world map captures a region at is
> approx. 450 meters up. This means the world map will show anything
> below that height, and will not show anything above that height. If
> there's a build etc that you do not want showing on the world map
> image of the region, its best to build it above 450m (usually 500m or
> higher is best).
>

This is still true. We haven't touched this parameter.


> 2.  What it captures: Generally the world map will capture an object's
> shape and overall color/tint. Details like exact textures on objects
> usually aren't captured unless they're of such a large size that they
> would take up roughly a quarter of the region or more on their own
> (i.e. large enough so that the world map would show the detail of the
> texture instead of just the overall color). Most of the time this
> translates into roads, tops of buildings, etc. being displayed on the
> map.
>

Incorrect: all textures are assumed to be seen from far above enough as to
be average as 1 color, irrespective of their size and scaling. As the goal
is to rerender the map for the *whole grid* daily (see below), we cannot
fetch and decompress all the full sized textures every day (yikes!). We take
full advantage of the jpeg2000 wavelet properties here to read as little as
possible and still get a correct average color (modulo Zay's bug
apparently).


> 3. The world map for a region is updated roughly every two weeks,
> which is the length of time for the system to update every region on
> the grid once before starting over again.
>

Incorrect: it's now updated daily. There's a bit of smarts though to avoid
rerendering regions that had no change at all. As some smart residents
noticed, there is however a delay between texture computation and posting.
This is because the map rendering does now something new: it stitches the
regions 2x2 and computes sampled zoomed out tiles and repeats that process
in a pyramidal scheme all the way out, effectively building a gigantic grid
size mipmap. This is what makes the zoom so fast now.

Couple of other things new with that map:
- it computes only "objects" tiles, no "terrain" tiles: this is to merge the
webapp (slurl) map experience and the IW viewer map experience. Also
"terrain" was not extremely helpful in heavily built regions.
- tiles are stored on Amazon S3, outside the asset server then, reducing
load there
- IW and webapp use the same tiles : so no more inconsistencies here

Back to OObscure original question: would it be possible to get higher res
maps for some regions? Hmmm.... From a rendering standpoint, that's easy but
that would require a change in the scheme used to store tiles (adding a new
layer to the gigantic mipmap) and a change in the viewer code map to get
those tiles. We wouldn't do that wholesale though for the whole grid:
storing all this data has a cost and we went through quite a bit of
computation (balancing cost, speed, usability) before setting on that
256x256 pixels value.

Cheers,
- Merov
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.secondlife.com/pipermail/sldev/attachments/20100126/20b41c2e/attachment.htm 


More information about the SLDev mailing list