Marching Cubes on OpenGL 2.0 hardware
Nov 05, 2007
Geometry shaders, a recent OpenGL extension, are not necessary to produce geometry on the GPU. With the HistoPyramid, a special mipmap-like data
structure, it is possible to implement geometry-shader like functionality on any OpenGL 2.0 capable hardware. As an example, gpu_marcher, a Linux OpenGL 2.0 prototype for NVidia GForce 6+ hardware, is capable of performing Marching Cubes at 30 fps on high resolution volume data (up to 256x256x256). On GForce 8 hardware, it currently outperforms geometry-shader based MC implementations by a factor of 4-5.
Category: Developers •
Posted on 11/05 at 07:15 AM
Comments
Hu ? Ah ... the “high-resolution” referred to the “real-time marching cubes statement” ... competing algorithms rarely can do more than 128x128x128 ...
There is no problem implementing more than 256x256x256 ... if you use RGBA channels and e.g. squash 10 bit data into 32 bit integers, you should be able to use 768 MB cards for 512 in cube - and Quadro with 1.5 GB are available already.
In short: The algorithm in itself is not restricted to 256x256x256.
Let me know if you have more questions.
/Gernot :)
Posted by Gernot on 11/17 at 05:55 AM

High Resolution?? 256 cubes is the lowest resolution you can have for a medical 3D dataset these days.
High resolution would be 512x512x2048 or even 1024x1024xnnn.
Of course that is causing all sort of other issues for the GPU since the data can’t fit on the card anymore…
Still nice work though.
Posted by shsan on 11/07 at 02:24 AM