[SDL] Fast Way To Check If Certain Pixel is Inside Certain Surface
Alan Wolfe
Atrix2 at cox.net
Mon Jul 3 18:11:59 PDT 2006
Hi Phantom,
Just FYI the SDL list is not used for programming techniques so much, it's
mostly for help with sdl specific questions. A much better list for that is
at gameprogrammer.com.
But yes, there is a much better way than doing what you are doing!
Instead of checking every x and y of a surface to see if it matches a
particle's x and y, do this:
If((particle.x>=surface->clip_rect.x)&&(particle.x<=(surface->clip_rect.x+su
rface->clip_rect.w))&&
(particle.y>=surface->clip_rect.y)&&(particle.y<=(surface->clip_rect.y+surfa
ce->clip_rect.h)))
{
//do something
}
This way instead of testing each and every pixel on the surface, you are
just checking to see mathematically if the pixel is inside the other surface
or not.
_____
From: sdl-bounces+atrix2=cox.net at libsdl.org
[mailto:sdl-bounces+atrix2=cox.net at libsdl.org] On Behalf Of Phantom Lord
Sent: Monday, July 03, 2006 5:19 PM
To: A list for developers using the SDL library. (includes SDL-announce)
Subject: [SDL] Fast Way To Check If Certain Pixel is Inside Certain Surface
Hi, i'm working on a particle engine (pixel-based, for now) and i'd
implement the following code for checking if the pixel is inside that
Certain Surface:
for(int i=surface->clip_rect.x; i<surface->clip_rect.w; i++)
for(int j=surface->clip_rect.y; j<surface->clip_rect.h; j++)
if(particle.x == i && particle.y == j) do something.
But this carried me bigs "delays" whenever its executed.
Has somebody a better way to doing it?.
Thx, and sorry for my english, not native.
--
Leandro Ostera,
Caelis Interactive
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.libsdl.org/pipermail/sdl-libsdl.org/attachments/20060703/a1d3610f/attachment.htm
More information about the SDL
mailing list