[Bf-committers] Code donation: "Dual contouring re-meshing"
Ton Roosendaal
ton at blender.org
Mon Mar 7 13:49:06 CET 2011
Hi all,
I've been contacted by Prof. Tao Ju, University St Louis.
http://www1.cse.wustl.edu/~taoju/
He offered Blender Foundation to use algorithms and code he developed
the past years. It's based on his 2002 Siggraph paper:
http://www1.cse.wustl.edu/~taoju/research/dualContour.pdf
He further worked on that, resulting in this program:
http://www1.cse.wustl.edu/~taoju/code/polymender.htm
It also has an improved method for creating meshes out of volumes,
preserving detail:
example of a marching cube metaball scene:
http://reocities.com/SiliconValley/port/3456/isosurf/png/demo1.png
the same metaball scene in dual contouring:
http://reocities.com/SiliconValley/port/3456/isosurf/png/demo2.png
His assistant Jean-Denis Boudreault wrote me:
"If blender wishes to push the envelope even further, it could enter a
whole new area of modeling paradigm, in which dual contouring would be
the key. for example, the 3d modeling software http://www.3d-coat.com/
uses a voxel data approach for advanced neo-modeling of polygon free
meshes. Blender could enhance it's metaball system with dual
contouring to make it's entry in the voxel based modeling world in
style. all this is only the start an overhaul of the metaball system
can offer. With dual contouring, you now have the proper tools to do
it."
When I wrote back about possible implementation of CSG meshing, he
wrote:
"As for CSG operations, I was not aware that they were not included in
the above code. But im sure the talented Blender developers shall know
how to re implement it if necessary. If this can help, i include code
from an independent experimental implementation of dual contouring
that is available as open source on the internet (http://reocities.com/SiliconValley/port/3456/isosurf/isosurfaces.html
). Now i am not aware if the code is usable by blender as is (and im
convinced Mr. Ju's code is preferable anyways), but it can surely be
used as an example implementation of CSG operations, from which the
developers can triangulate the algorithms into Mr. Ju's code."
The code for dualcontouring and polymender is here:
http://download.blender.org/demo/test/dc.zip
It is still (c) by the creator. He has agreed on transferring to this
to (c) for BF, but with keeping his contribution credit.
Anyone interested in following up on this is welcome! I'd need
feedback from experienced developers what do with it precisely. In
case there's someone who can (wants to) bring this in Blender, Tao Ju
is more than willing to assist or give feedback too.
Thanks,
-Ton-
------------------------------------------------------------------------
Ton Roosendaal Blender Foundation ton at blender.org www.blender.org
Blender Institute Entrepotdok 57A 1018AD Amsterdam The Netherlands
More information about the Bf-committers
mailing list