TOOLBOX
Donya Labs
Simplygon
Review by bijan foRutanpouR
THE HuMan braIn WEIgHs abou T 3 PounDs, con TaIns abou T 100 bILLIon nEurons, anD
generates almost 25 watts of power. Although that is enough to light a light bulb, it seems like a
shame to spend an ounce of energy creating Level Of Detail (LOD) models by hand in a game
production pipeline. Artists bring creativity, imagination, and vision to a team. It is a waste of
valuable resources to use any part of their time and talent performing mundane tasks that can be
done automatically using intelligent software. The good news is that there are always people looking
to improve the machinery of game development. Simplygon from Donya Labs claims to do just that,
and today we will investigate whether Simplygon can actually lighten the load artists have to bear.
Simplygon is a tool that takes a textured polygonal model and generates new lower resolution
models that can be used as LOD models in-game. The model may be a skinned and animating
character model, or an environment object. Simplygon uses proprietary algorithms to intelligently
decimate the model and produce high quality results.
simplygon Lo D generation
WHa T's In THE boX
» The Simplygon package consists
of a standalone application, which
can natively load .OBJ, .FBX, and
Collada files, and there are also
Maya and Max plug-ins. Most
importantly, there’s a C++ SDK
which accesses all Simplygon
functionality, allowing tighter
integration into production pipelines.
One of the great strengths
of Simplygon is its ease of use.
Files can be loaded directly into
Simplygon, or indirectly through
Maya or Max. Let's look at the
Maya workflow. First, the model is
loaded into Maya, and the desired
geometry nodes are selected. Next,
the MEL command “Simplygon” is
run. This invokes the Simplygon
application, and the model is
automatically transferred over to
Simplygon. The next step involves
some decision making, such as
quality settings, and the number
of LODs needed. During my tests,
I never changed the settings from
"Normal" quality, and frankly, the
results were great out of the box.
One decision that has to be made
is how much to reduce the base
mesh for each LOD. Simplygon
does have a standard option for
choosing the desired number of
triangles, which is done by setting
a percentage (e.g., LOD #1 should
have 50 percent fewer triangles
than the base, LOD #2 should have
25 percent, and so on). However, it’s
easier and more intuitive to think of
it as the number of pixels you think
a particular LOD should occupy on
the screen. Thinking of it this way
lets the computer decide how many
triangles are necessary.
MEsH LoDs vs ProXy LoDs
» In traditional LOD systems, focus
is placed on reducing the triangle
count in a mesh, which Simplygon
calls Mesh LODs. The textures,
shaders, and materials remain the
same, and are shared between all
LODs. If the triangle count is reduced
significantly, fewer and fewer
triangles are submitted in a rendering
batch. This means the cost of
rendering the triangles becomes less
significant than the overhead cost
of the render state changes. So the
problem becomes twofold. Not only
is the amount of geometry rendered
reduced, but the number of render
state changes is reduced as well.
To address this problem,
Simplygon can generate a Proxy LOD,
which is a new mesh with a new set
of textures that are visually almost
identical to the original. It’s not a
simple copy, but rather the result of
an extensive process of analyzing
the model, sampling it, filling holes,
removing interior parts, merging
triangle geometry, and re-meshing
to generate a new mesh with
massive geometry reduction. You
could think of it an intelligent shrink-wrap of the original.
The next automated step in the
process involves the creation of Proxy
Textures. Simplygon automatically
does an unwrap of the UVs, then
re-packs them to create the smallest
texture map possible while also
getting as close as it can to the
original mesh. It’s important to note
that the new UVs generated will not
have the same layout as the original
UVs. They’re packed for optimal space
saving and display. After the new UVs
have been generated, the textures
are baked into a single texture sheet,
including color, normal, occlusion,
and specular.
One interesting feature of Proxy
LODs is that they are not limited to
single objects. A group of hundreds
game deveLOper | augus T 2011 30