allegroflare / allegro_flare

Application toolkit for Allegro 5
https://clubcatt.com/allegroflare
MIT License
35 stars 6 forks source link

Add TransitionFX #218

Closed MarkOates closed 1 year ago

MarkOates commented 2 years ago

Add TransitionFX/Base

Or, generally speaking, This PR introduces a class hierarchy for screen transition effects, called TransitionFX. These transition effects are things like crossfade, dip to black, fade out, ripple, etc.

This PR was originally intended to add a class to handle a basic crossfade transition between two, simultaneously active screens. However, this was branched and moved out of active development because it introduced a severe performance issue with this initial FX.

However, 7 months later I think I've identified why. Also, a new AllegroFlare::RenderSurfaces::* class was introduced in the interim and is directly related to the performance and design of this system. (see review comments for more info).