I have finally figured out how to use Stencil Buffers. Yes, that's right, up until now I've never actually used one. And it took me ALL fucking day to figure it out. Of course, it didn't help that for some reason I couldn't attach a depth/stencil surface to a render target with alpha. I hope that's normal, cause if not I'm going to scream.
In the above image I've implemented a 'swiss-cheese' effect wherein 100 of the bouncing balls have been dedicated to creating a stencil of 'holes', and the rest are rendered only where those previous sprites have marked the stencil. It's pretty, but it ain't fast (notice the blazing framerate there). Well, it could be fast, I have no idea, I don't know how to optimize for this, I've got it minimizing state changes as much as possible.
In other news, i've also added custom blending modes for sprites and other layer objects in general. I've created a joystick and keyboard object for my input plug-in and I've made the shader interface a little better. So far, it's shaping up. I'm trying to think of everything + the kitchen sink for the sprite interface, stuff I'd like to see sprites do that other libraries lack or have lacked in the past. Suggestions are welcome as long as you're not on my 'list'. That's right Chad, I'm talking about you.