Graphics Renderer Control
Compared to earlier versions of KreaTV we have tried to give the
graphics rendering in the application layer more freedom to control
different aspects of the graphics handling, e.g. whether to use double
buffering and how graphics and video are composed on different
outputs. This also means that more responsibilities are put on the
application layer.
- Graphics composition: No graphics composition is performed in
KreaTV at all. This means that the application layer itself must
compose its own graphics with subtitles, for
instance. This gives the application freedom to decide the z-order of
different graphics components, including subtitles.
- Hole punching: The graphics rendering engine in the application
layer is responsible for "punching" a transparent hole in the graphics
to make video visible when a video
layer has been set up. This makes it possible for the application
to control the level of transparency and which parts that shall be
transparent, e.g. to set up rounded or fuzzy corners.
- Output handling: With KreaTvGfx the application layer can decide
to show different graphics and/or video on HD and SD
displays. This also means that the
application layer is responsible for "flipping" graphics with correct
size on both outputs.
- Double buffering: The graphics rendering engine is responsible for
doing double buffering if needed. It may choose to not do so if smooth
animations are not needed or if the amount of graphics memory is
limited.
- Blitter: With KreaTvGfx the graphics renderer is able to use the
blitter to perform copy and fill
operations. This gives a significant performance boost if used wisely
(e.g. not blitting many small portions).
- Alpha blending: With KreaTvGfx the graphics renderer is able to
use alpha blending to achieve transparency effects with graphics on
top of graphics, or graphics on top of video.
- Pixel formats: With KreaTvGfx the graphics renderer can use
different types of pixel formats suitable for different purposes,
e.g. colour look-up tables (CLUT) for images with few colours.