CSG WITH TESSELLATION

Hi all,
Is it possible to have that effect just only with tessellator or using some kind of hack, workaround with tessellator?

  1. red and blue sections are : tesselated polygons (with proper winding numbers).
  2. purple circles are : cut outs from red section
  3. cross sections of red object should be cut planar depending on the interaction angle with blue object. Just only the cross sectional cutting will be perfomed on red object.

red and blue objects are easy to perform with tessellation but how to perform purple cut outs from already tesselated polygon as long as i know that tessellation is perfomed only along the extruded direction,let alone the cross sectional cutting.

If this is not possible with tessellation which workflow do i have to follow.

Regards,

Any help will be appreciated!

The problem boils down to these items,

  1. I need to manipulate the tessellated object but not at the direction which it has been extruded. (For hollows)

  2. Can i have the read/write access to the vertexes of product object ? (For slicing)

  3. Does the correct implementation of “gluTessCallback(tobj, GLU_TESS_COMBINE, combineCallback)” serves for that purpose?

Hi,

from what I know CSG with automatic tesselation is quite a tough problem. According to my professor at university there is still research in progress but it seems that CSG using view independent remeshing is not that promising as compared with using methods in image space such as the sencil or depth buffer. If you google for “OpenGL CSG” the first hit will be a phd-thesis about that topic. Maybe you should have a look into this work first.

Regards

thanks, I’ll have look at that.

What urges me to persist on that subject, I’m not trying to CSG complex objects, mines are almost primitives with slight changes and OpneGL reference books say that tessellation object can be fed from other tessellation object resulting data. If I first apply tessellation in one direction, fed the second tessellation with resulting data from 1st and and change the extrusion direction(I think should be with gluTessNormal) for 2nd tess, I’m done, Looks like, easier said AND DONE, But I couldn’t find any example so far.

Thanks in advance,