That's not a bad idea, but I have a couple of problems.
First, it's a top down space sim. The screen scrolls (virtually), so I'm actually checking an area of 10000x10000 pixels. Optimisations taken into consideration, it could still be pretty fast, but the back buffer only contains the screen info, doesnt it? I need to calculate off-screen sprite collision also.
I suppose I could make my own virtual screen. ie. An array of about 400x400, then make a memblock from a the rotated sprite (if that's possible), read the info relative to its coordinate on screen, and the info in the memblock, and paste it into the virtual screen array. Then use the technique you described above. As I paste in the next non-transparent pixel into the array, I check to see if there is a pixel already there.
The question is, is there a make memblock from sprite command (I dont have db at this PC)? And would this be fast enough? I cant use make memblock from image, because you cant rotate images, and I'm sure if I start programming my own pixel rotation procedure in db, it'll be rediculously slow. I cant rotate the sprite, paste it, then grab the image either, because the background would also be captured, and I cant draw it to an alternative blank bitmap, because I've tried swapping bitmaps on every program loop and capturing an image and it's incredibly slow (300FPS to 60FPS with a few lines of code).
All relies on the make memblock from sprite command, if there is one.
Machine: P4 2200, 1GB RAM, GeForce4 64MB, Audigy Platinum
There's a junglist inside every coder. http://www.kontact-kru.com for my own personal breakbeat terrorism.