Quick links

Content Conditioning and Distribution for Dynamic Virtual Worlds

Report ID:
October 2012
Download Formats:


Metaverses are three-dimensional virtual worlds where anyone can add
and script new objects. Metaverses today, such as Second Life, are
dull, lifeless, and stagnant because users can see and interact with
only a tiny region around them, rather than a large and immersive
world. The next-generation Sirikata metaverse server scales to support
large, complex worlds, even as it allows users to see and interact
with the entire world. However, enabling large worlds poses a new
challenge to graphical clients to display high-quality scenes quickly
over a network.

Arbitrary 3D content is often not optimized for real-time rendering,
limiting the ability of clients to display large scenes consisting of
hundreds or thousands of objects. We present the design and
implementation of Sirikata's automatic, unsupervised conversion
process that transforms 3D content into a format suitable for
real-time rendering while minimizing loss of quality. The resulting
progressive format includes a base mesh, allowing clients to quickly
display the model, and a progressive portion for streaming additional
detail as desired.

3D models are large--often several megabytes in size. This poses a
challenge for online, interactive virtual worlds like Sirikata, where
3D content must be downloaded on-demand. When a client enters a scene
containing many objects and the models are not cached locally on the
client's device, it can take a long time to download, resulting in
poor visual fidelity. Deciding how to order downloads has a huge
impact on performance. Should a client download a higher texture
resolution for one model, or stream additional vertices for another?
Worse, underpowered clients might not be able to display a high
resolution mesh, resulting in wasted time downloading unneeded
content. Several metrics, such as the distance and scale of an object
in the scene or the camera angle of the observer, can be taken into
account when designing a scheduling algorithm. We present the design
and implementation of a framework for evaluating scheduling algorithms
for progressive meshes and we perform this evaluation on several
independent metrics and methods for combining metrics, including a
linear optimization algorithm. After a thorough evaluation, our
results show that a simple metric--solid angle--consistently
outperforms all other metrics.

Follow us: Facebook Twitter Linkedin