Squidge posted on Jul 16 2006 at 01:17 PM said:The problem with transparencies isn't calculating the colors, it's drawing the backgrounds.
Eg. a standard screen could have 4 backgrounds, this is the equivalent of drawing a screen four times, one screen over the top of the previous to generate the final result.
With transparencies, this can double to 8 backgrounds. You draw the first four in one buffer, and the second four in another. Once you have the two finished results, you subtract one screen from the other to get the transparency effect.
It's this additional drawing that causes transparencies to be slow.
There have been attempts to try and not bother drawing the additional backgrounds, but without actually drawing them, it becomes difficult to find out which parts of the screen are supposed to be transparent. If the snes simply said "render this as x% transparent", it would be childs play, but it doesn't; it uses color subtraction and addition (as described above), which is a lot more complicated.
I skimmed through the MagicEyes documentation, and it looks like it can do multiple surfaces together, including alpha-blending. Is this any use at all, or is it too general?
I was hoping it might actually do almost all of it, until I think you mentioned that people could change the pallette during drawing (ouch), because it also handles palettes. Oh well.
Last edited by a moderator: