XRT 1.5.0 released

Previous: XRT 1.4.1 released

Next: Gotcha!

Posted: 01 Sep 2012 16:26
Tags: downloads

Infuriated developer
Image Unavailable
Catmull-Clark hydra from Sitex Graphics's Air examples

Catmull-Clark subdivision surfaces …

The major feature in XRT 1.5.0 is a new geometric primitive: Catmull-Clark subdivision surfaces. Except for texturing, everything you would expect from it is supported: creases and corners, whether they are sharp or smooth, holes and boundaries. For a definition of these terms, please refer to my previous posts on the subject (basics, corners and creases, holes and boundaries).

You have certainly noticed that these posts are more than one year old and, indeed, the current implementation has been sitting on my hard drive from this time. I could pretend that I have been distracted by the implementation of other appealing features but the real reason is that I am not happy with the result: it's kinda slow (maybe my expectations were too high …), it suffers from tesselation artifacts and it's all my fault !

The intersection algorithm recursively refines the surface until the resulting patches are flat or small enough. The problem lies in the stopping criteria. It should be computed using derivative information which XRT current design is not able to provide1. So, it is stopped at an arbitrary subdivision level.

The result is that, depending on the zoom factor, a surface may be over-subdivided (which is bad for performance and sometimes leads to precision problems) or under-subdivided. The next picture is the horrifying result of a bad refinement.

rough_gnome.jpg

It was bad one year ago and it still is. So, why release it now ? For one thing, it does decent pictures most of the time and I believe it cannot be improved without changes that go far beyond what I planned originally for XRT 2.0. Therefore, it will have to wait for work on the next major version to start. I will go into further details in future posts.

… and the rest

  • XRT frontend has been completely rewritten for improved help message, versioning information, more control on threading, debugging output and statistics.
  • shadow bias is now supported.
  • a myriad of bugs has been fixed.
  • the complete list of changes is available in the ChangeLog.

This version and the updated documentation are available in the Downloads page.

Rate this post:

rating: 0+x

Comments: 0