Path: chuka.playstation.co.uk!tjs From: tjs@cs.monash.edu.au (Toby Sargeant) Newsgroups: scee.yaroze.programming.3d_graphics Subject: Re: Poly Intersections Date: 4 Jan 1999 22:09:25 GMT Organization: PlayStation Net Yaroze (SCEE) Lines: 26 Message-ID: References: <3689671E.AA01BBAB@hinge.mistral.co.uk> <36908BCA.F33C961E@hinge.mistral.co.uk> NNTP-Posting-Host: longford.cs.monash.edu.au X-Newsreader: slrn (0.9.4.3 UNIX) On Mon, 04 Jan 1999 09:37:14 +0000, Craig Graham wrote: >Count axis crossing . I got that one to go pretty well. You go round the poly >and count the number of times the edges cross the axis' projected out from the >point you're testing >- if theres an odd number of crossings on each axis, the point is in the poly, >if there's an even number, the point is outside. This works on any N sided >polygon. Oh dear... I _should_ have remembered that. Another thing you might like to consider for RSDAnim is presplitting pathological polygons that are guaranteed to cause incorrect overlaps when z-sorted. Maybe it's feasible to sort polygons into groups such that each polygon in the group sorts neatly, and each group also sorts neatly, and then use many different OTs to sort and merge. In the limit (1 polygon per group), this is BSP, which I have no doubt would be very slow, given that you have to go through the ordering tables to draw polygons, but it might prove to be a reasonable tradeoff for reasonably large groups of polygons. Has anyone considered alternatives to ordering tables? I know they're reasonably fast, but they need a lot of memory to be accurate, and they're always going to handle inconvex solids badly. Toby.