shaddatic / sa2b-render-fix

A C mod for Sonic Adventure 2 PC focused on repairing, restoring, recreating, and enhancing the graphics and rendering of the vanilla game
17 stars 0 forks source link

Order Independent Transparency #1

Open toonjoey opened 1 year ago

toonjoey commented 1 year ago

Certain objects use Order Independent Transparency for transparency effects, such as item balloons in racing and (most notably) the Artificial Chaos enemies. There has been an attempt to restore this in the past by SPEEPSHighway, but it was notably incomplete and only affected Artificial Chaos.

For reference, this is how it currently looks on Artificial Chaos (Ignore the other mods I have installed): image Whereas this is how it's supposed to look (This screenshot is awful, but I don't have a copy of Dreamcast SA2 on me): image

shaddatic commented 1 year ago

Order Independent Transparancy is no easy feat to make let alone to restore. It would require the entire rendering pipeline of the game to be called into question and all this in a game that doesn't even really support backface-culling. The Dreamcast is the only system to date that came with OIT at the hardware level, meaning it came inherently with the system - if only we were so lucky.

It should also be noted that OIT doesn't just mean transparant, and refers to specifically how the transparancy is drawn to the framebuffer. So even if we fully restored all transparent objects, this issue still couldn't be closed.

However, this is a wonderful first issue, I couldn't have asked for a better #1. And even if true OIT never comes, many of the issues caused by it being gone, I'm sure, can be fixed without it with some smarts and knowhow!

I'll leave this issue open for further discussion for now.