a sprite engine or compositor that is well - adapted to a variety ofadaptable to a host platforms and that minimizes the amount of drawing that occurs on a refresh of a framebuffer display area . the invention exploits the host platform &# 39 ; s abilities to perform both back - to - front and front - to - back drawing algorithms , where the choice of algorithm used depends upon whether a sprite is opaque or transparent . each sprite registers itself with a sprite engine , identifying whether or not the sprite is wholly opaque or notis transparent , the bounding area of the sprite , and the function that the sprite uses to draw . the function can be the drawing routine that is available from the host platform or operating system . the sprite engine keeps track of the z position of each sprite and examines each sprite to determine if the sprite overlaps a particular region that needs to be refreshed . sprites that are rectangular and opaque are considered special cases that can be easily drawn using athe host platform &# 39 ; s front - to - back drawing algorithm . in a top - down manner , by z position , all sprites that are opaque are allowed to draw . all other kinds of sprites are drawn in a back - to - front manner . when a transparent sprite is found , the sprite engine searches the remaining sprites in a bottom - up manner and draws the sprites with a z position below the transparent sprite , finishing with the transparent sprite , using a back - to - front algorithm in the remaining region .