   Finding "leaks" in geometry
  I'm working on a level editor for 3D games and want to be able to detect leaks/holes in the level geometry and/or detect "zones". E.g. I want to place some zone labels at given points in the map and then my function should calculate in which zone objects/triangles are located. (Zones are separated by geometry and portals)I know this has been done before and I've googled. However, I don't know what this technique/algorithm is called and I haven't found anything useful.Can someone point me in the right direction please?   
  Well, when you run your leak test, why don't you run a test with rays that travel from inside your level and try to not intersect anything.  That way, if a ray gets through, that's a leak.  You could base the rays on all the poly centers on the normal side..  Lol, I have no idea really.  I just felt bad for your post not having any replies, so there's a sloowwwww start :P   ;  Pick a point in space. From that point add up the solid angles from which you see each and every polygon in your level, counting front-facing polygons positively, and back-facing polygons negatively.The total should add up to (+/-) 4*PI steradians if your point is inside the levlel, or to zero if it is outside. If not your level is not a manifold, which means either a hole or freestanding polygons. Beware of round-off errors and inverted surface normals.   ;  Thanks for your ideas.I've thought of similar techniques, but my main objective is to get the "zoning" functional (I.e. see which parts of the geometry that belongs together) and I can't figure out a nice way to do that.I've thought of using some hull function as well, but I can't figure that out either.There must be some thoughts about this specific problem since many 3D (indoor) engines/editors have some implementation of zoning or likewice.;  If you use CSG, you can't get 'leaks'. Food for thought.   ;Quote:If you use CSG, you can't get 'leaks'. Food for thought.Ahhh... that is a very good point. I've been thinking of using CSG to construct the main geometry and this is a nice advantage I have overlooked.Thanks