Imperial Graphics Engine

The Imperial Graphics Engine (IGE) is a simple SDL-based 2D graphics engine using display lists similar to those found in Flash/Actionscript. However, IGE does not (yet) provide fancy scaling, rotation or stretching. It's sole purpose is to be a more intuitive and easy-to-use interface for displaying 2D graphics than the more "manual" way SDL defines. It's possible to use it for a wide range of drawing systems due to transparency effects, palette changes and optional z ordering. Like ITK, it's written in pure C code. The z ordering performance depends on much content is generated dynamically, how many sprites need to sorted for one display list branch and in which order they come in (a combination of insertions sort and bucket sort is used).

It's not documented in the current state and probably has a number of small bugs. However, a small demonstration can be viewed via the IGE atom demo.

Current features:
  • Tree-based display list with root and sub displays
  • Most SDL features: alpha, color keys, per-frame palette changes
  • Clip sub displays to the root display size
  • Optional, automatic z-ordering
  • Coordinates relative to the root display
  • Gridbased sprite/image splitting
  • limited point-to-display collision detection

  • Possible future features:
    See this post for a plan to add OpenGL support and a new render system.

    Library dependencies:

    Modified BSD License

    IGE Release 0b

    No comments: