Cartifex was a project to map the topography of all of Second Life's terrain in order to render
dramatic views of the entire world. Typical draw distances in Second Life are below 256 meters,
meaning that users lose the sense of being in a world that actually spans many kilometers. By
using the topographical data to create a model in 3DSMax, I was able create images like the
ones on this page at an "infinite" draw distance.
The process involved a number of steps. A control panel application written in C# managed scanning objects inside
Second Life through XML-RPC. The scanners used mutliple, concurrently running scripts to scan a sim's terrain at
1 meter resolution and sent their data out in chunks through e-mail. The control panel retrieved this data and
assembled it into heightmaps stored as grayscale bitmaps. The control panel also generated textures for each
sim based on its particular texture scheme (snow, tropical, etc.). It exported a text file with data on the
sim names, locations, and water levels. A script in 3DSMax then read this file and modeled each sim as a plane
with the heightmap applied as a displacement map and the texture applied as a diffuse map.
The images on this page reflect different stages of mapping and modeling as the project progressed.
Flat planes are placeholders for sims without height data. Throughout the project I fiddled with
lighting, water textures and other elements. Late in the process I adapted the system to model regions
of sims with a single plane, making it more efficient to change the level of detail for sims depending
on camera distance. The last picture below shows an example of 2D images I generated which mapped
terrain height to color hue. Sim terrain can now be captured much more quickly through a libsl
proxy bot, which is how Terrain Sculptor works.