The Basics of Polygonal and Subdiv modeling in SOFTIMAGE|XSI

Written by - Rosa Roger - Website
Edited by - Ed Harriss


First, we are going to have a look at the 2 different modes and the 2 subdivs algorythms XSI has.

XSI offers several tools to model polygon mesh objects. But the main question is which Subdiv to use ?

Depending on your choice, the way you model will change.



There are 2 differents ways of applying Subdivs :

Subdivs in XSI give you the final tessellated polygon mesh object, on which you can still have the same control as the polygon control mesh. In fact there is just a subdivision relationship between the 2 polymeshes. THIS IS THE FIRST MODE where you can subdivide just by the polymesh menu or the context menu. It will then be a subdivision operator. You can choose from the 2 algorythms and apply local subdivision refinement. Nonetheless, no texturing is transmitted between the 2 meshes. Only the geometry and deformations (skeletons, shape...) will follow.



THE SECOND MODE is automatic. You can find it in the geometry approximation property editor. Like all properties it can be applied to all the objects (shared property) or locally to differentiate the subdivision between objects. This mode gives you a total propagation of the properties of the mesh object, and it is a bit more like an approximation for a nurbs object. Texturing is great and automatically propagated on the subdivided mesh. For the moment, Doo-Sabin is not supported for this mode.



When choosing the first mode, you'll have a great tool to model with.

First choose, a poly mesh or a NURBS surface ( Create>Polymesh>Nurbs to mesh allows you, with XSI modeling relation, to modify the nurbs surface and have it update the Subdiv polymesh in real time) then use Create>Polymesh>subdivision to subdivide the mesh. This creates a Mesh object following a first rule of subdivision. It is linked to the mesh object that acts as a lattice of deformation.

You can now modify your Nurbs 's construction curves and see the results in Subdiv surface, in real time. This is allowed by the different modeling relations that are propagated between the curves, the Nurbs surface, the polymesh resulting from Nurbs to mesh operator and the subdivided surface resulting from the subdivision operator.

You can take advantage of Full Nurbs modeling tools to build precise and rounded shapes and still adding points, inserting knots, sniping, stitching ....


As it is just a new object that is linked, display properties are the default ones, so you may change those of the Control Mesh with Property>display in order to be in wireframe (don't forget to untoggle override property from the view menu or the display of the viewport will take precedence over objects's local display properties).

  You can now model and have the subdiv react. You can change the subdivision level or rule to see the changes. Further you could freeze the subdiv to start with that whole new rounded mesh.


The Component menu lets you apply local refinement to all polygonal meshes, you can choose a rule then apply another refinement with another rule...There is no Hierarchy, which means no limit of refinement. Nonetheless, a modification of topology (adding /removing) of the control mesh reorganizes the Subdiv mesh. If you have made some topology changes on the subdiv, its will move, destroying your changes. SO VALIDATE your Lw poly before refining the subdiv.

You can also apply edge/vertex hard crease or value crease. You can even paint the crease influence to attract more or less the subdiv by the control mesh. For the moment the Doo-Sabin rule supports vertex/edge hard crease and vertex value crease but not edge value crease. This is another advantage of Catmull-clark.

Keep in mind that when you want to work refinements on the subdiv, it must be your final mesh, because these are not modifications that you can copy to another mesh.


This mode offers simplicity. Just drag a slider and your mesh is subdivided, the former mesh has become a polymesh Hull, displayed in wireframe and the only selectable. Feedback is faster since it is hard Implemented (there is no extra-relashionship to handle). Texturing, as well as any other operation is propagated, giving you a great rounded surface out of the Lw poly.

The price for this simplicity is that you cannot work on the subdivision mesh. You can still use local refinement ( Catmull or Doo-Sabin ) on the polymesh hull, and even work with edge/vertex crease but the general rule for the approximation can only be Catmull-Clark (for the moment :( ?).




Without going into too much detail, this rule produces more rounder surfaces. It outputs only quad polygons, the control mesh can have N-gon polygons.

For toon characters it can be great but for more realistic/accurate forms it can lead to an over sized control mesh. Thus, when animating, you'll have strange proportions and the contact of the subdivided mesh. The control mesh can become huge and exagerated when trying to create sharp edges. Also You may subdivide further to gain precision on the subdivided mesh but this will lead to heavy mesh. Solution can be edge value crease.

The PROS are that with the geometry approximation mode you've got a one stop solution to texturize the subdiv correctly and fast.



This mode is better with edges and vertecies because it produces a quad for every edge and a N sided polygon for a vertex that shares N edges.

This is the reason why it generates a subdiv closer to the mesh control shape. Adding detail is generally easier and the LW poly mesh still represents the resulting subdivs accurately. The control mesh may be made of N gons too, and the Subdivs will produce N-gons, thus optimizing and concentrating edges where needed.

The CONS are that there is no texturizing automatically with this rule, that there is no geometry approximation support and finally edge crease value is not supported. Also subdivs are so sensible to the edge topology of the control mesh that it may leads to another way of modeling, less academicaly quadrilateral than the Catmull-Clark rule.