[Bf-committers] CSG Object

Arne Schmitz arne.schmitz at mmweg.rwth-aachen.de
Fri Sep 10 09:11:30 CEST 2004

Am Donnerstag, 9. September 2004 00:59 schrieb joeedh:
> What I am attempting to create is a real-time-editing CSG Object.  This
> will use OpenCSG (www.opencsg.org, I think).  Once I get the basics
> down, I intend to write up a formal feature proposal.  Right now I'm
> using some of the Metaball code as a template, because it has the most
> similar functionality.
> Note that I don't intend to actually code the CSG code itself (since
> OpenCSG generates an image, it does NOT modify the mesh).  I'll just use
> whatever CSG code is in Blender at that time, since I really don't get
> the math behind CSG.

Good idea. I think the CSG code in Blender at the moment is very limited, 
though I have only used it once or twice for intersecting two meshes. The 
question is, what sort of CSG objects do you want to support? If you want to 
support simple geometric primitives like spheres, quadrics and maybe cubes, I 
think you won't need OpenCSG. The idea to use the Metaball code might be 
good, because I think the Metaballs use some sort of Marching Cubes or Dual 
Contouring variant to extract the surface, without having looked at the code. 
The math behind CSG for simple primitives is actually rather easy, and you 
could do that probably yourself, with some hints.

If you want to support arbitrary meshes it would get rather complicated, I 
think. There are however several papers about this, i think. How to create a 
signed distance function, and how to extract a new surface, with probably 
reusing existing geometry. Since OpenCSG only supports image based CSG, this 
would be quite some work to do.


[--- PGP key FD05BED7 --- http://www.root42.de/ ---]
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: not available
Url : http://projects.blender.org/pipermail/bf-committers/attachments/20040910/f25ab048/attachment.pgp

More information about the Bf-committers mailing list