4.3. Tutorial: Improving the geometry with subdivision surfaces

Problem

If you have modelled an object that requires a lot of triangles to capture its shape, the resulting model can be large to store and therefore slow to download across the internet.

Solution

3DSOM Pro provides a means of greatly reducing the memory or disk space required to store a model, by converting the geometry to a subdivision surface resulting in compression factors from 10 to over 100 depending on the shape of the object.

3DSOM Pro automatically creates a subdivision surface to match your existing geometry. This new surface will approximate the original geometry and you have control over how compact you would like the representation to be.

Starting Point

You will need to have your geometry in its final state, including having performed any optimisation (see the Optimising the surface geometry tutorial) or clipping (see Building the wireframe model) since 3DSOM Pro fits the new surface to the current geometry. Set the decimation level to display a high quality model — the fitting process will use the displayed mesh to determine the number of triangles in the subdivision surface control mesh.

Note: This operation will discard any surface texture generated, but does not use the original images or masks.

Step 1

Open the Surface Wizard by clicking the ID_MAKE_SURFACE.jpgGenerate surface... button and choose "Fit Subdivision Surface" then click the Next > button to open the Fit Subdivision Surface Page.

Step 2

You can alter the number of triangles in the base mesh to determine how small the final geometry will be. The fewer triangles the less space it will take, but this will also start to remove small detailed features from your geometry.

3DSOM Pro will suggest a default number based on your current mesh and your current decimation level, so if you were displaying the model with 4000 triangles, it might suggest having 250 in the base mesh. Bear in mind that even having 1000 triangles in the base mesh will still take up less space than the original mesh.

How is a Subdivision Surface Stored?

A subdivision surface is stored as a simple or "base" triangle mesh with very few triangles that captures the rough shape of the object. The base mesh will be more dense in areas of high curvature to capture the sharper features of your object.

Each triangle in this base mesh is then split into 4 or 16 triangles (depending on the level of subdivision) in such a way as to create a smooth surface (as shown in Figure 4.3.1). This process requires no additional information, but it is this final smoother surface that is drawn. This is also why when you have a subdivision surface you can only change the number of triangles in factors of 4.

When you have chosen the number of triangles in the base mesh, click the Next > button. You can always return to try a different number.

Step 3

3DSOM Pro will now begin to fit a subdivision surface to your geometry. As it does so, the current surface will be shown in the View Model Window and you can rotate around to look at it from different directions.

The process starts by getting the rough shape right and then proceeds to capture more and more details. You can stop at any point when you are happy with the results by clicking the Close this window to build the model manually button.

Figure 4.3.1. The base mesh, first level of subdivision and final subdivision surface.
Step 4

When the process has completed, close the wizard by clicking the Finish button. To compare with your previous geometry you can use the ID_EDIT_UNDO.jpgUndo model or mask change button and the ID_EDIT_REDO.jpgRedo model or mask change button.

You can still adjust the number of triangles displayed using the triangles slider on the View Model toolbar, but this will jump by factors of 4 as it now just adjusts the number of subdivision steps from the base mesh.

Alternatively, if you feel the final mesh does not adequately capture the geometry, instead of closing the wizard, click the < Back button to return to the previous page and increase the number of triangles in the base mesh.