Behold, The Volumetric Canvas!
Ever since the late 3Dfx revolutionized consumer PC hardware — and by revolutionized, I mean “was completely without peer for over two years” — it’s been clear that specialized ASICs (Application Specific Integrated Circuits) can, in certain instances, utterly wipe the floor with General Purpose processors — even with Moore’s Death March fully in place. I doubt even a Pentium 4 can match 3Dfx’s first product when it comes to the bilinear filtering of even a moderate number of polygons!
The story continues, though. 3Dfx was supplanted, and eventually purchased outright, by nVidia…and here’s where things get interesting: Those circuits, ever so specialized, once only barely programmable via register combiners, have grown in power and flexibility. They’re becoming…if not general purpose, no longer fixed function. NV20 — embedded in the GeForce 3 and the X-Box — retains the capacity to execute small but powerful pixel and vertex programs against anything streaming out the pipe. The specialized have gone general — what’s old is new again.
And interesting things are coming because of it.
Check this out: At SIGGRAPH 2002, Christof Rezk-Salama released OpenQVIS, his implementation of the techniques in his doctoral thesis: Volume Rendering Techniques for General Purpose Graphics Hardware. What’s this? Check out the following renderings:
Three things are important to realize about those images: First, the hardware used to render them was built to render polygons, not MRI data. Second, if you’ve got an X-Box in your living room, you already own the requisite silicon. Finally, those images render in realtime, somewhere between 10 and 30FPS. Relative to software performance, that’s the same kind of boost to volumetric rendering as we saw hardware provide to the polygon thrash — not bad, considering the once fixed-function hardware was never intended to provide this service!
Now, Rezk-Salama isn’t the first to be doing such work. It was, after all, Klaus Engel’s Pre-Integrated Volume Renderer that introduced me to realtime volumetric rendering, not to mention OpenQVIS itself. Klaus’s work is excellent, but it’s OpenQVIS that has me really excited. It’s complete, mature, cross platform through the Qt toolkit, and Open Source. It’s trivial to generate data for, and it’s fast. So, we’ve got a way to directly render arbitrary 3D matrixes. What will you do with it? Keep me posted 🙂
Local Mirror
OpenQVIS (Source Code, GPL License) OpenQVIS (Win32 Binary, Probably Requires DX8 Pixel Shaders) Bonsai Tree CT Scan of a Head(Large) CT Scan of a Head(Small) Engine Inner Ear MRI of a Head Teddy Bear! Temporal Bone “Volume Rendering Techniques for General Purpose Graphics Hardware”, Christof Rezk-Salama
No Responses
Comments are closed on this archived entry.