Essay

 

Summary:

The paper introduces a new technique for modelling in computer graphics called subdivision surfaces as an alternative to NURBS. In order to meet the demands of high-end production, three required developments are presented:

  • a practical technique for constructing provably smooth variable-radius fillets and blends
  • methods to use subdivision surfaces for cloth simulations including efficient collision detection and a variety of cloth behaviour
  • constructions of smooth scalar fields on subdivision surfaces which lead to a wide class of programmable shaders

 

In contrast to NURBS, subdivision surfaces do not require trimming, which is prone to numerical errors, and do not require manual effort to hide seams. At the time the paper was written, subdivision surfaces where used just in a few animation systems and did only embellish polygonal models whereas the paper aims to define smooth surfaces directly. A variant of Catmull-Clark is used to implement the subdivision surfaces and an energy function of the clothing on subdivision surface is shown which allows appropriate simulation such that the structure of the underlying mesh is not revealed and the cloth behaves reasonably. Finally scalar fields used in combination with programmable shaders are presented as an alternative to solid or projective texture mapping; parametric or procedural texturing is not well suited for subdivision surfaces due to the nature of them; e.g. they allow topologies higher than genus 0.

 

Contribution to CG:

From my point of view the paper had a great impact. First of all the “look” of computer animated characters changed enormously due to the smoothness which subdivision surfaces provide and moved away from the sort of “tubish” look which results from NURBS-based animation systems. Of course at the beginning this was rather difficult since most of the systems where based on NURBS and a lot of techniques like collision detection, parameterized texturing, variable-radius fillets, physically-based simulations and so on where available for them and heavily in use, furthermore modellers and designers had to learn how to handle and apply the new method. But once this was done, the advantages were that they didn’t have to spend hours on the hiding of seams anymore and did not suffer from the topological restrictions that NURBS-based systems had but could benefit from the topological freedom that subdivision surfaces provide. Important is also the fact that production and design is less time consuming since the control points may be arranged in a natural way and there is no need for a regular gridded structure such as for NURBS models; this leads to the very nice property that changes can locally be made without having to insert new control points.

Another important point is that subdivision surfaces can present arbitrary surface topologies while NURBS are restricted to genus zero topologies which gives access to a much wider range of possible shapes; needless to say how powerful this is.

The use of scalar fields and programmable shaders created a new way of shading and although I am not sure about it I would assume that this also contributed a great deal to pushing forward the development of hardware using programmable shaders. Anyway, the added feature to RenderMan where designers may interactively assign scalar values to certain vertices of the control mesh and let the rest be interpolated by the system is very valuable and also speeds up production.

Industries and branches having had a benefit from subdivision surfaces are of course the animated movie industry, electronic entertainment such as computer games, producers of cloths and woven fabrics who could simulate new shapes and also examine details such as wrinkles and seams much more sophisticated manner, the car industry possibly and any other industry having need for modelling, animation and rendering of complex shapes such as (rapid) prototyping.

The look of Pixar movies changed heavily and now I know why I did not like “Toy Story” back then when it was released, it had this “tubish” look.

 

On to the details:

Now that I have read the paper twice, I basically understood all of it. It is well written, that is one can easily follow the reasonings behind it, provided the appropriate background knowledge of course, but I found no passages which seemed unclear or even wrong to me. Part four requires some experience with physically-based simulations but even without one can see the point the authors are making.

There are two minor issues I would suggest changing though:

As a starter I would replace figure four with a visually clearer version; that is I think the viewing angle in it is not appropriate, another angle, or even two views would provide better insight; if one does not know about subdivision surfaces based on Catmull-Clark this figure is rather difficult to read.

The other maybe more important point is that the authors write about a nice property that subdivision surfaces have at the beginning of the paper in section one: Namely that the smoothness of the model is automatically guaranteed and that their system reasons about the limit surface itself, which prevents polygonal artifacts no matter how the surfaces animates or how closely it is viewed. As far as I know, they never really address this point later on in the paper and this leaves a question mark concerning the limit surface; it is clear that by the very nature of how subdivision surfaces are refined they lead to a final smooth surface, but it would have been nice to have some more detailed description of this issue; maybe as another appendix D let’s say.

Considering the difficulty of implementation it is clear that it requires quite an effort if one would have to implement an animation system from scratch including a physically-based component, rendering component and so on. But if a basic existing system is available, then it is quite feasible, meaning that it would take no longer than a year for a small team to achieve remarkable results which could be used for professional production. In the case of RenderMan this probably took only a couple of months, since Pixar’s system is known to be very elaborate.

 

Favourites:

What I liked the most about the paper was the algorithmic insight of sections two and three together with their appendices A and B. To me these parts revealed quite a lot of implementation details by listing the different cases to be considered and these are very helpful for understanding and following the reasoning; especially for the ceases which are divided into semi-sharp and infinitely sharp categories together with the authors’ approach using a hybrid combination to achieve results such as Gery’s fingers and nails. This approach also leads to a size reduction of the controlling mesh if varying ceases are used.

One could maybe argue that the need for shaders (or solid or projective texture mapping) in order to achieve texture mapping might be a drawback, maybe was back then when the paper was published but with today’s hardware this is definitely not the case anymore. But as it is mentioned in the paper, it is also possible to use smooth parametric texturing if the (s,t) coordinates are subdivided using the same subdivision rules as for the geometric coordinates (x,y,z).

Another drawback is definitively the restriction to surfaces where the connectivity does not change in section 4.2. One would gain more possibilities if this restriction would be lifted such as the capability to tear cloths (meshes) apart.

 

Conclusion & Extensions:

As already mentioned above the techniques presented in the paper may be used for lots of other areas. One might imagine nice character animations for computer games. Then there are car designers which might consider to take a leap of faith from their long developed NURBS-based design tools to subdivision surfaces; and as far as I know most of them are still undergoing this change at the moment. And naturally the fashion industry can benefit by doing better prototyping and a more elaborate design of their products.

Considering the scalar fields used for the shaders, I can imagine to use vector fields which could be used to animate flows on subdivision surfaces such as water flowing or flames tangling along the surface. Even a scalar field changing depending on the elapsed time can produce nice effects such as wet cloth drying out or sweat appearing on the cloth if a character exercises.

Another use for subdivision surfaces is of course in the area of level of detail (LoD); as long as levels consisting of a rather small amount of vertices are allowed to have a (very) coarse look.

Finally there are more elaborate algorithms for collision detection and culling nowadays then when the paper was published; there are even implementations making use of the vertex and fragment shaders such as the k-buffer. This would definitively speed up the (real-time) rendering; also there have been progresses in the area of volume-based rendering so this might be an interesting alternative; most of all since the authors restrict their method to cases where the connectivity of the mesh does not change. Maybe on could also use time-dependent and varying ceases to creating effects such as melting in real-time.

In order to conclude these comments on the paper I may say that I liked reading it and that I am looking forward to see another Pixar movie; namely “Cars”. Most of all it motivated me to pursue my studies in computer graphics.