> > Something similar happens in a lot other hardware as well, and you can solve
> > by using a z-buffer for just the sprites (optimise it so it only kicks in when
> > needed and it will usually not impact performance much at all).
> But it's not just a case of sprites obstructing other sprites or causing them
> not to get drawn. They actually appear over sprites that have a higher
> scroll-plane priority.
I think you are referring to the same effect.
I think it happens on both Genesis (in Sonic 2's intro like I said) and on CPS2 (e.g. in the SFA3 and Capcom Sports Club intros, and X-Men COTA in a special invisibilty move)
What happens is that if a low priority sprite obscures another high priority sprite, only the uncovered pixels appear high.
This makes it appear as if the sprite's silhouette has cut a hole in the high sprite.
From what I recall about Sonic 2, though it was a while ago that I looked at it, there is a low priority sprite in the shape of the arc of the SONIC banner. You don't see it because it's behind the background, it's sole purpose is so that it cuts a hole in Sonic and Tails, so they appear to be behind the logo.
Am I right?
I think MameDev call this sprite/scroll priority othogonality... or some combination of those words anyway ;-)
> It seems like z-buffering would need to take into account
> the plane tiles as well.
> I really should investigate the Genesis again to see what actually happens. I
> think Charles has some documentation on his site.
You learn something old everyday...