From: Jaroslav Sinecky (jsinecky++at++tiscali.cz)
Date: 04/05/2004 04:38:56
Hi all,
/* I'm sending this again because it seems the first mail didn't make it
through. I'm putting link to piece.pfb instead of attaching it. Sorry if it
arrives twice at the end. */
I'm using the performer tessellator exhaustively, it works mostly well, but
there are cases when I get some uncorrect artifacts. Its usually tedious to
track where the problem actually is and can be also in surfaces/trim curves
definitions. Anyway I have one case which is quite transparent (and visualy
more enoying), I would be glad if someone can have a look at it...
I send a piece.pfb enclosed with two pfNurbSurfaces, in the uv-parametrical
space each has a simple trim loop in form of unit square (0,0)->(1,1). Now
when I load this file, add topological information (the two surfaces have
one common boundary) and tessellate it, there is a very visible tessellation
artifact.
Note: this happens only with common boundary defined and only for some
concrete chordal tolerance values.
Jaroslav
ps. Pf3.1, Windows XP.
Here is the code:
// Load the file and get two surfaces
pfGroup* root = (pfGroup*)pfdLoadFile("piece.pfb");
pfParaSurface* surf1 = (pfParaSurface*)root->getChild(0);
pfParaSurface* surf2 = (pfParaSurface*)root->getChild(1);
// Add topology
pfTopo* topo = new pfTopo();
topo->addSurface(surf1);
topo->addSurface(surf2);
// Common boudary
pfBoundary* b = new pfBoundary();
topo->addBoundary(b);
b->addEdge(0, surf1, 0, 0);
b->addEdge(1, surf2, 0, 2);
surf1->getTrimCurve(0, 0)->setBoundaryDir(1);
surf2->getTrimCurve(0, 2)->setBoundaryDir(-1);
// Tessellate
pfTessParaSurfaceAction* tessSurf = new pfTessParaSurfaceAction();
tessSurf->setChordalDevTol(5e-5f); // With these values, all is ok:
5e-4f, 5e-6f
pfdTessellateGeometry(root, tessSurf);
// Now can store and open in perfly to see what happened
pfdStoreFile(root, "simple.pfb");
the link to piece.pfb: http://home.tiscali.cz/pusher/piece.pfb
This archive was generated by hypermail 2b29 : Mon Apr 05 2004 - 04:43:37 PDT