PDA

View Full Version : Creating a region



grandall
09-18-2005, 12:29 AM
I am trying to move from an old 2d program (Mac OSX) to 3d and now need to convert some code that tested whether a sprite was inside a (flat) region. The region was created previously by using Quickdraw commands (ie ovals and rects) into a Rgn. Then the test was

if ( PtInRgn( spritePoint, myRegion ) ).......
where spritePoint was the x,y coordinate of the sprite.

Is it possible to use a similiar approach under OpenGL ??

zeckensack
09-19-2005, 04:35 AM
IMO you should solve these tests with math in your application. You could go ahead and (ab)use occlusion queries or "selection" to implement intersection tests and the like, but I wouldn't recommend it. It's pretty hairy to do, especially if you're relatively new to OpenGL, and it just won't be as efficient as an application side solution.

Finding out whether a point is inside a circle is just a vector subtraction, a dot product and a comparison. I don't know anything about QuickDraw, but I suspect that it performs these tests in software as well.

grandall
09-20-2005, 11:12 AM
Many thanks for this reply. It sounds like I need to constrain the region to a simple shape (circle, oval, lozenge) for this approach to work. In this case I can do that so it's over to the maths now. Thanks again.