Maybe I'm being naive, but I've had good luck creating connecting seams between arbitrary vertices in holey polygons. Make sure the outer vertices are in counter-clockwise order around the normal, and the interior (hole) vertices are clockwise. Then, the algorithm goes something like this:
First N vertices are N vertices of outer contour
Next M1 vertices are M1 vertices of hole 1
Close hole loop with vertex that is copy of the first hole vertex
Close seam by adding copy of last outer contour vertex
Repeat 3 steps above for each hole contour
In Radiance, polygon seams can cross all over each other and it doesn't create any artifacts. This is how fonts are rendered, for example. This is also why I never bothered implementing holes in polygons; I never found where seams caused a problem, and I couldn't think of any way besides seams for implementing holes.
-Greg
···
From: "Jelle Feringa // EZCT / Paris" <[email protected]>
Date: January 6, 2005 6:07:03 AM PSTDear All,
I'm working on a python script which I use to generate polygon description
to describe walls, in order to automate an architectural design process.
(building on the http://www.dezentral.de/soft/Polygon/index.html module)Using an excellent library, all my functions are in place... the data is
ready to be shipped to genprism... if it wasn't for No Explicit Holes
ProblemHere you see (simplified) version of a polygon I'd like genprism to produce
a wall from...[(4.059, 4.0599), (3.939, 4.059), (3.93, 3.93), (4.059, 3.99), (8.0, 0.0),
(0.0, 0.0), (0.0, 8.0), (8.0, 8.0)]Nothing special, except I need to find a way to produce the Invisible Seams,
since holes aren't supported explicitly.I'm almost sure some of you have been running into this problem as well, and
so far I haven't been able to find a suitable solution for my problem so far
(I'm learning programming... so please go easy on meIf you're as fortunate as me and also have a copy of the excellent Rendering
with Radiance, this problem is described at page 52 / 145.#described, there's no suggestion of dealing with the problem...
Your help is appreciated!
Cheers,
Jelle