|
> > Something similar happens in a lot other hardware as well, and you can solve > it > > 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...
|