Version 0.5 Last Modified 3rd July 2001

Introducing Smoothing Groups

Smoothing groups (SG's) are whole numbers between 1 and 32 that can be rapidly assigned to either individual or groups of polygons.

People who have made cars with 3DSMax previously should be familiar with smoothing groups, as they enable the designer to control how light is reflected from each of the models polygons.  You may have seen cars that seemed to be faceted, this is because no smoothing groups were applied to the model before it was exported to .prm.  Smoothing groups effect the models vertex normals, and by applying a smoothing group you average the normals over a collection of faces.  What this means is that as far as your virtual light is concerned, all the polygons reflect light in the same direction.  If you wanted to generate a corner (for reflected light) on one of your models, you might want to use another smoothing group in order to make light reflected from the other surface "appear" to go in another direction .  Because Re-volt doesn't use ray-tracing to give the illusion of light on your surfaces, its probably over zealous to go to town with smoothing groups, IMHO using one or two smoothing groups for a car is perfectly adequate.

Now that you know what smoothing groups are meant to do, you also need to know what the ASE Tools can force them to do.

The ASE tools are able to use SG's to carry "per polygon" information to prm or w.  Imagine now that the 32 SG's are 32 flags which you can stick in any polygon to tell the ASE tools "here is a transparent polygon" or "here is grass".  But wait, won't this produce artifacts given the fact that smoothing groups have this smoothing function as well?  The truth is that since many polygons will never need to be smoothed for the sake of reflected light (when was the last time you literally *saw* an image of the sun whilst looking at grass for example) its very useful to be able to access additional properties available in Re-volt by using these SG's as the 'couriers'.  

For surfaces where ENV (glossiness) can be ignored you will see no artifacts from applying different smoothing groups to produce things like surface properties, double sided polygons etc.   ENV mapping drivable surfaces is not always successful in any case, although it was used on the transparent bridge in museam1.  If you want to do something like this remember that there are some limitations, if are applying a surface type to this surface, the normals will be smoothed over the region your apply the surface type, and will therefore reflect light in the same direction.  Therefore, if you want to have corners or facets which reflect light differently, you will need to apply a different smoothing group and hence a different surface property.  Faceted ENV can only be achieved to a limited degree with the -ali command line switch (which includes a couple of smoothing groups without associated surface properties although this is not strictly necessary), it is inaccessible with the -morph switch becuase a single smoothing group must be used to activate this feature and therefore all ENV'ed surfaces will have the same smoothing.

If you specifically encounter serious problems with the duality of smoothing groups forced by the ASE tools, please post your example to the Re-volt Forum at Racerspoint.

Tables giving details of the addtional information that Smoothing Group can be forced to 'carry' can be found in Smoothing Group Definitions.

The ASE Tools have the capability to use smoothing groups to carry the additional information you see in those tables, however, this additional information can also be turned off and smoothing groups can be left to there natural function. The additional meanings are inactive if you choose not to use -ali or -morph on your command line, note however that doing this will deny access to these advanced features, at least as far as the ASE tool component of rvtmod5 is concerned.

Smoothing groups are applied to polygons via the Smooth Modifier, or the Edit_Mesh Modifier under Sub_Object Face (in 2.5) and or Polygon (in 3.x).

 

Contents Page

Next