The main difference between polygonal and NURBS modeling is the way the mesh is calculated by the computer.
For polygon modeling it calculates polygons, which are flat planes that comprise a 3D shape (the way that a cube is made out of 6 squares for example).
NURBS calculates the mesh as splines between points, which can make curves out of a single section of geometry.
NURBS (which is shorthand for Non-Uniform Rational B-splines) uses complex mathematics to calculate the surface of a model. This means that it is far better suited for models where a high degree of accuracy is needed.
A good example where this is important is in engineering. When an engineer is trying to work out the aerodynamics of a plane or car, and they want to run tests in a digital wind tunnel.
The downside of this highly mathematical way of calculating a model’s size is that it becomes more difficult for the computer to calculate, which means that it is unsuited for applications where render times need to be fast.
You would never find NURBS surfaces in video games, for example (at least at the time of writing).
In polygonal modeling it is impossible to make a perfectly smooth curve, due to the fact they are always calculated as a straight line between points.
However, using smoothing groups and a high number of polygons, you can make sections that are perceived as a smooth curve on the screen.
NURBS have the additional benefit of being a smaller file size, as all the data contained are mathematical points. This also means the data is easy to read and understand between different programs so you never end up with corrupted meshes, like can happen when transferring polygonal models.
When Are NURBS Used?
I’m sure you’re thinking this all sounds great! Why don’t we use NURBS more often?
That’s because I have yet to go into the limitations behind NURBS, which there are many.
NURBS objects are only ever 4 sided. This is a limitation to the fact that a Polygon is usually an N-gon consisting of any number of sides up from 3.
This makes the process of modeling with polygons a much simpler process. Expanding on this polygon modeling is a lot easier to manipulate and change, which again makes for far easier construction of meshes.
NURBS objects are always separate from each other as well, making them difficult to attach together for one model.
Due to their perfect calculations of curvature and position, this means you will never see the seams between them. But it is still a limitation in their workflow. If you wish to animate a NURBS object, you would first need to convert it into a polygonal mesh so that you can weld joints together so they will not come apart.
It is also not possible to UV unwrap a NURBS object.
For this reason, if it’s a model you need to texture, it is better to use a polygon mesh. That way you have the ability to adjust how it’s projected onto the mesh.
To summarize: the difference between NURBS and polys can be compared roughly to the differences between vector and rasterized images in 2D.
Vector images also use mathematical data points to make incredibly accurate images that are often used for logos and marketing, but can be limited in what you can do with them.
In comparison, raster images use pixels that make them easier to work with, and have more tools at their disposal for editing & manipulation.
Due to the benefits that NURBS bring to the table, most modern 3D packages utilise NURBS in some way.
They are usually converted to polygons later in the production process, but NURBS are very good at making the initial base mesh.