Death to Poly

Polygons/triangles/quads are great for efficient low-level 2D/3D rendering — they’re butt simple graphics primitives that don’t require overly complex shaders or hierarchical composition languages to represent and render.

However (and no offense to the legendary Hughes Hoppe), they truly suck for representing dynamic levels of detail, such as you get with significantly zooming close and far. They don’t compress as well as other forms because the detail is way too explicit and often wrongly expressed for the given need.

It’s like trying to express the function a*sin(b) as a long series of undulating (X, Y) sample points instead of, well, just “a*sin(b).” The sample points are invariably not the ones you really want to ideally reconstruct the curve. And god help you if you want to change the key parameters to alter the waveform on the fly. The sample points are missing the essential mathematical (trig, in this case) relationship.

Mostly, polygons suck for later editing the objects we create, It takes years of training for good results in the first place vs. the functional equivalent of play-dough — anyone should be able to do it. And parametric approaches, as above, are more easily mutated on the fly, which is the key element for easy editing.

The most success to date I’ve had in my 20 year dream to obsolete polygons was with Second Life, where I wrote their 3D Prim generation system, still in use today. I wanted to do much more than the simple convolution volumes we ultimately shipped, but it was a good step in the right direction and at least proved the approach viable. However, one doesn’t create technology for its own sake — you always need to do what’s right for the product.

The ultimate vision I was hoping for then was more like what Uformia is now doing — giving us the ability to mash up and blend 3D models with ease. And fortunately for all of us, Uformia has found a real use case that obviously needs true volume modeling: 3D printing.

3D printing is notoriously hampered but not pampered by the polygonal meshes one tries to feed to these systems. Polygons have zero volume and can cut, tear, and inter-penetrate each other without violating any rules of physics. Real material is just the opposite. Using polygons is like trying to make a tasty vodka martini using only origami (and even then, paper has real volume, even if we don’t think of it that way).

Uformia can apparently prove their models are viable, and even aid in building supporting micro-structures. I’m guessing they do some sort of guided parametric evolution to fit their model to the input polygons, but it could easily be smarter than that. I ordered my $100 copy, so I intend to find out.

The main downside of procedural/parametric modeling is, as always, the quality and availability of the tools. So I fully support this company giving a run at getting that part right.

What’s the next step? Blending arbitrary models is a good start, not entirely unseen for ye old polygonal modelers. The real kicker comes when we can take two models and say “make A more like B, right here in this part but not that other part.” If we solve that, then we can then imagine a real open ecosystem for 3D designs that truly credits (and rewards) the creators original designs while allowing easy mashups of the results.

(Evolver is a good example of that trend for humanoid avatars at least. I met those guys maybe 7 years ago when they were just deciding to form a company.)

I’ve long been hoping I didn’t have to write this stuff myself — it’s quite hard, probably way over my head — and I just want to use it for some future projects I have in mind. Also, it’s notoriously difficult to make money selling 3D modeling tools. The most successful business model to date is “sell to Autodesk and let them figure it out.” But I’m rooting for this one to get the UX right and hit it out of the park.

MeshUp: Mashup for meshes by Uformia — Kickstarter.


  1. #1 by Rita Turkowski on November 22, 2012 - 6:13 pm

    Interesting post Avi, I hope you are right and Uformia gets their user experience right. Perhaps 3D printing is the best customer a Uformia like solution has been looking for. Being on Kickstarter is a good move also IMHO.

(will not be published)