Ultimapper and the Gigapolygon Core: Baking Maps from High-Resolution Meshes

Author: Jonathan McDermott, Softimage Developer, Softimage

Thanks to the XSI Gigapolygon core, Ultimapper can generate maps from meshes of 40 million or more polygons. Which means that Ultimapper can handle pretty much anything you can throw at it. This article provides some hard numbers to back up that claim.


Table of contents

Workflow

The following are two typical methods of getting data from Zbrush to XSI:

  • Use the OBJ Exporter to export high-res mesh (as high-res as possible).
  • Use a lower-res mesh and displacement maps.

This document examines the use of a high-res mesh.

OBJ Export

Zbrush can export a mesh to OBJ format, which you can then import into XSI. Investigation shows that XSI can handle as many polygons as ZBrush 2.0 can export.

  • Zbrush hits a hard max at 10 million polygons per mesh (it cannot subdivide beyond this; the Preferences > Mem > MaxPolyPerMesh goes only to 10)
  • A memory limit of 2 Gb; Zbrush does not support the /3Gb switch nor does it run under 64-bit Windows.

To work around these limits, you can export multiple meshes from Zbrush and then stitch them back together in XSI.

The basics workflow:

  1. Create a low-resolution mesh in XSI.
  2. Export the mesh to OBJ format.
  3. Import the mesh as a Tool in Zbrush and add detail. Subdivide as needed.
  4. Export the Tool from Zbrush in OBJ format.
  5. Open an XSI scene that already contains the original low-resolution mesh.
  6. Import the high-resolution mesh exported from ZBrush.
  7. Add an Ultimapper property to the low-resolution mesh and pick the high-resolution mesh as the source.
  8. Set the resolution, quality, and maps to be generated, and then click the Generate button.

Ultimapper Resolution

The resolution tested was an estimate at the maximum that would be of use for a game engine. Typically 2048 will be as high as they will want to go. The tests below were done at 2048 and 8192.


Performance in XSI

These are the results of some tests in XSI using an extremely high-resolution mesh. The tests were performed on the following machine:

  • 64-bit Windows XP Professional
  • 8 Gigs RAM
  • 2 Dual-core AMD Opterons, 2.0 Ghz

Import OBJ


# Polygons # Triangles Time (seconds) Memory
1.3 Million 2.3 Million 72s 395 Mb
20 Million 40 Million 588s 2.28 Gb
40 Million 80 Million 1,071s 3.15 Gb


Normal Map – Compute Depths


Resolution Quality # Polygons Time (seconds)
2048 High Lo 3K – Hi 20M 368.2188
2048 High Lo 10K – Hi 20M 378.9922
2048 High Lo 3K – Hi 40M 6298.426
2048 High Lo 10K – Hi 40M 7307.734
8192 High Lo 10K – Hi 20M 1050.617
8192 High Lo 10K – Hi 40M 8374.441


Normal Map – Generate Maps


Resolution Quality # Polygons Time (seconds)
2048 High Lo 3K – Hi 20M 116.4688
2048 High Lo 10K – Hi 20M 120.6094
2048 High Lo 3K – Hi 40M 268.8594
2048 High Lo 10K – Hi 40M 293.5156
8192 High Lo 10K – Hi 20M 917.4023
8192 High Lo 10K – Hi 40M 1128.879


Ambient Occlusion – Compute Depths


Resolution Quality # Polygons Time (seconds)
2048 High Lo 3K – Hi 20M 104.0156
2048 High Lo 10K – Hi 20M 109.1563
2048 High Lo 3K – Hi 40M 253.2813
2048 High Lo 10K – Hi 40M 291.4922
8192 High Lo 10K – Hi 20M 781.168
8192 High Lo 10K – Hi 40M 1025.258


Ambient Occlusion – Generate Maps


Resolution Quality # Polygons Time (seconds)
2048 High Lo 3K – Hi 20M 3291.586
2048 High Lo 10K – Hi 20M 3234.758
2048 High Lo 3K – Hi 40M 3967.516
2048 High Lo 10K – Hi 40M 3471.380
8192 High Lo 10K – Hi 20M 38104.41
8192 High Lo 10K – Hi 40M 30466.69


Depth – Compute Depths


Resolution Quality # Polygons Time (seconds)
2048 High Lo 3K – Hi 20M 103.9688
2048 High Lo 10K – Hi 20M 265.5078
2048 High Lo 3K – Hi 40M 108.2969
2048 High Lo 10K – Hi 40M 286.406
8192 High Lo 10K – Hi 20M 765.7715
8192 High Lo 10K – Hi 40M 1042.068


Depth – Generate Maps


Resolution Quality # Polygons Time (seconds)
2048 High Lo 3K – Hi 20M 85.40625
2048 High Lo 10K – Hi 20M 249.6484
2048 High Lo 3K – Hi 40M 91.46875
2048 High Lo 10K – Hi 40M 269.6382
8192 High Lo 10K – Hi 20M 477.8379
8192 High Lo 10K – Hi 40M 676.6758


Normal in Model Space – Compute Depths


Resolution Quality # Polygons Time (seconds)
2048 High Lo 3K – Hi 20M 103.1406
2048 High Lo 10K – Hi 20M 108.0781
2048 High Lo 3K – Hi 40M 265.5078
2048 High Lo 10K – Hi 40M 286.7949
8192 High Lo 10K – Hi 20M 755.7539
8192 High Lo 10K – Hi 40M 1002.82


Normal in Model Space – Generate Maps


Resolution Quality # Polygons Time (seconds)
2048 High Lo 3K – Hi 20M 109.7188
2048 High Lo 10K – Hi 20M 113.2344
2048 High Lo 3K – Hi 40M 249.6484
2048 High Lo 10K – Hi 40M 286.6218
8192 High Lo 10K – Hi 20M 870.584
8192 High Lo 10K – Hi 40M 1050.584


Albedo – Compute Depths


Resolution Quality # Polygons Time (seconds)
2048 High Lo 3K – Hi 20M 104.2656
2048 High Lo 10K – Hi 20M 108.0781
2048 High Lo 3K – Hi 40M 266.2188
2048 High Lo 10K – Hi 40M 280.749
8192 High Lo 10K – Hi 20M 758.334
8192 High Lo 10K – Hi 40M 970.7422


Albedo – Generate Maps


Resolution Quality # Polygons Time (seconds)
2048 High Lo 3K – Hi 20M 115.5469
2048 High Lo 10K – Hi 20M 113.2344
2048 High Lo 3K – Hi 40M 270.9531
2048 High Lo 10K – Hi 40M 278.395
8192 High Lo 10K – Hi 20M 919.1152
8192 High Lo 10K – Hi 40M 1117.148


Material Tags – Compute Depths


Resolution Quality # Polygons Time (seconds)
2048 High Lo 3K – Hi 20M 105.6875
2048 High Lo 10K – Hi 20M 108.9844
2048 High Lo 3K – Hi 40M 263.875
2048 High Lo 10K – Hi 40M 286.6411
8192 High Lo 10K – Hi 20M 750.6465
8192 High Lo 10K – Hi 40M 1037.881


Material Tags – Generate Maps


Resolution Quality # Polygons Time (seconds)
2048 High Lo 3K – Hi 20M 97.89063
2048 High Lo 10K – Hi 20M 98.8125
2048 High Lo 3K – Hi 40M 252.2188
2048 High Lo 10K – Hi 40M 263.2168
8192 High Lo 10K – Hi 20M 661.8945
8192 High Lo 10K – Hi 40M 861.0215

This page was last modified 20:43, 27 Oct 2010.
This page has been accessed 11865 times.

© Copyright 2009 Autodesk Inc. All Rights Reserved. Privacy Policy | Legal Notices and Trademarks | Report Piracy