Procedural Shape Synthesis on Subdivsion Surfaces

Luiz Velho1, Ken Perlin2, Lexing Ying2, Henning Bierman2,

1 IMPA - Instituto de Matematica Pura e Aplicada
2 New York University


We present methods for synthesizing 3D shape features on subdivision surfaces using multiscale procedural techniques. Multiscale synthesis is a powerful approach for creating surfaces with different levels of detail. Our methods can also blend multiple example multiresolution surfaces, including procedurally-defined surfaces as well as captured models.

PDF (500K)

Multiscale Shape Detail

Multiscale procedural shape synthesis is accomplished through the addition of geometric details at the various levels of the multiscale shape model.

For this, we design a procedural definition of the basic shape feature that we want to paste on a surface at some scale level. This procedure is a function that synthesizes the difference between the feature at two successive scale levels. The input of the function is a point on the surface and a scale level. The output is a displacement to be added as a detail at that level.

det = f(p, l)
where p is a point given either in local intrinsic surface coordinates (u,v) or in global extrinsic coordinates (x,y,z); and detail is a displacement relative to the surface at level l.

Models based on global coordinates lead to volumetric shape definitions, i.e. features are taken from the three dimensional space in which the surface is embeded. Models based on local coordinates lead to surface shape definitions, i.e. features are "grown" on the surface. Some of our models are based on intrinsic coordinates and some on extrinsic coordinates.

The magnitude of the displacements is usually related to the scale level. Models in which the displacement is inversely proportional to scale lead to fractal-like features. Models in which the displacement is directly proportional to scale lead to morphogenic-like features. When the magnitude of the displacement is independent of scale, the features are essentially arbitrary. This is appropriate for man-made shapes or even physical phenomena, such as small waves. We experimented with all these kinds of displacement.

Below we present a chart relating this classification with examples of the shape detail procedural models.

|         |      Fractal        |    Morphogenic       |
| Global  |     "rock"          |  "mushroom cloud"    |
| Local   |     "berry"         |    "tentacle"        |

Procedural Detail Models

We have designed and experimented with a few shape detail procedural models. These models exploit the two basic characteristics of the procedural definition, discussed above: the type of coordinates and the magnitude of displacements relative to the level.


Rock is an example of a volumetric--fractal shape model. The spatial coordinates of the reference surface are used as a seed of a noise function generator. The displacements are given in a 1/f fashion, where f is related to the scale level.

Figure 1 shows an image of rock synthesis using this procedure on a sphere-like base subdivision surface.

Figure 1: Rock shape


Berry is an example of a hybrid surface/volume--fractal shape model. The initial seed to the cell features is a set of points placed on the surface according to a Poisson-disk distribution. From these initial points at a base level, spherical domes are grown recursively on the surface at each level of detail.

Figure 2 shows the construction process for the berry shape.

Figure 2: Berry; (a) Base domes from initial sed points -- level 1 of detail; (b) first recursion added to domes -- level 2 of detail; (c) final berry -- 3 levels of detail.


Tentacles is an example of surface--morphogenic shape model. From initial seed points on the surface tentacles are grown outward. The direction and lenght of the displacements vary at each level. The displacements are directly proportional to scale. Figure 3 illustrates the growth process of the tentacle for 4 levels of detail, as the feature grows from a seed point.

Figure 3: Growth process of the tentacle. Levels 1 to 4.

The shape feature model has two parameters

These two parameters can be used for modeling purposes. The parameters can be time-varying and be used for animation.

Figure 4 shows a tentacle creature produced by applying uniform tentacles to an spherical subdivision surface. The tentacles grow from Figure 4(a) to 4(c).

Figure 4: "Tentacle creature". Tentacles grow and rotate from (a) to (c).

We remark that the basic structure of the tentacle shape detail model can be used as the basis to create other types of models such as the one shown in Figure 5.

Figure 5. Submarine mine.

Other variations of the growth model are possible. One ideia is to use L-Systems to create branching structures. For this type of model, in addition to the feature grown from the inital seed point, branching features are grown at higher levels of detail

Mushroom Cloud

Mushroom cloud is an example of hybrid surface/volume-morphogenic shape model. The features grow from seed points on the surface, but are based on the 3D coordinates in the neighborhood of each seed point. The displacement is directly proportional to scale.

Figure 6 shows an example of mushroom cloud features placed on a spherical shape.

Figure 6. Mushroom clouds on a planet. (inspired on the planet from "The Little Prince" of Saint-Exupery).

Multiscale Detail Operations

Once we have defined a repertoire of multiscale shape detail procedures, we can use them to create new shapes from base shapes. These procedures can be applied globally to a surface, as shown in some of the examples above.

We can also apply the shape detail procedures as a local operation to construct a single feature at a given seed point of the surface. This can be a very powerful modeling tool if applied interactively.

We now describe some results of interactive modeling using local multiscale detail operations. We have experimented with two kinds of operations: feature placement and local shape modification.

Local Feature Placement

A local feature placement operation consists of the application of the shape detail procedure at a single seed point of the surface. The features can be placed at any arbitrary intermediate level of scale of the subdivision surface.

Placement at the Same Level

When features are placed at the same level, they all have the same size and usually they do not interfere with each other. Figure 7 shows three examples of feature pleacement at the same level of the manequin head and skull models.

Figure 7. Local feature placement at the same level.

Placement at Different Levels

When features are placed at different levels, they have different sizes and usually interfere with each other this enables a very powerful modeling framework.

Figure 8 shows one example of feature placement at different levels. In Figure 8(a), we applied a "spur" shape detail procedures to several points only at level 1 of a spherical base surface. In Figure 8(b), we applied the same local feature operations only at level 3 of the surface. In Figure 8(c), we applied the local feature operations at both levels. Note that we obtained a combination of features at different scales.

Figure 8. Combination of features at different levels.

Local Detail Modification

A local detail modification operation consists of the application of a signal processing operation in a small neighborhood of a point of the surface. The operation can attenuate or enhance the details as some levels.

To implement this operation is important to have two components: a distance function from a point on the surface that extends over the neighborhood where the modification is applied; and a smooth drop-off function of distance. These components together provide a way to apply the modification without creating discontinuities on the surface.

Figure 9 shows an example of surface detail local signal processing applied to the skull model. In Figure 9(a) we present the original skull model and in Figure 9(b) we present the modified result. We smoothed the nose area and enhanced the jaw and details on top of the head to create a horny carnival mask. The interactive edit session took less than 5 minutes.

Figure 9. Local signal processing for meshes.

Multiscale Combination Operation - Blending

Finally, we describe mustiscale shape blending. This is a powerful shape combination operation, that can be either applied locally or globally. We remark that there are other multiscale combination operations for shapes, which we didn't consider, and remains as a topic for further research. The blending operation between two multiscale shapes is done as follows: at each scale level, a transition occurs which is proportional to the size of one sample at that scale level. The result is a surface definition that does not have an explicit visual transition. Instead, the effect is that one type of surface is gradually and naturally transformed into the other. This step involves only a linear combination of the two signals.

Rusted Fuse

The rusted fuse is an example of a multiscale blending of two shapes generated by different procedural models. One model is a rock and the other is a fuse.

Figure 10 shows the result of blending between these two shapes. The blending is specified by a plane oriented in the (1,2,0) direction. In order to avoid aliasing a "soft" transition region is used to blend between the the detail coefficients of the two models. This region changes from level to level according to c*1/2^l.. Note the while the transition is sharp at the finest level, the coarse level features of one shape influences the other beyond the dividing blending plane.

Figure 10. Rusted fuse.


The skull is an example of blending between a synthetic multiscale shape and a real-world object. One shape is the rock model and the other is the skull model. The skull is a multiscale surface generated by performing multiscale analysis to a digitized polygonal mesh.

Figure 11 shows the blending of these two shapes to create a corroded skull. In Figure 11(a) we used the same transition regions as in the previous example to produce a sharp blend. In Figure 11(b) we used a transition region that has the same extent at all levels to create a "soft" blend between the two shapes.

Figure 11. Skull.


The planet is an example of combining the same procedural multiscale shape model with different parameters. The procedural model used for the planet is the one defined for the rock. The difference is that instead of generating a displacement of the surface we generate an scalar function that is fed into a post-processing operation.

Figure 12(c) shows a synthetic planet which is the result blending in multiscale an "earth-like" planet, shown in Figure 12(a), with an "alien" planet, shown in Figure 12(b). Note how the different characteristics of the coastlines and topography blend seamlessly. One can see, scanning across individual features which straddle the transition region, that they gradually change their (statistically defined) appearance. For example, a single lake that appears jagged, with high fractal dimension, on one side of the transition, gradually turns into a smoothly contoured lake.

Figure 12. Planet.