Tilengine is a free, open source cross-platform 2D graphics engine for creating classic/retro games with tilemaps, sprites and palettes. Aimed at low resolution pixel art graphics, its unique scanline-based rendering system makes raster effects a core feature, the same used on actual 2D graphics chips inside arcade boards.

* Written in portable C (C99) with minimal external dependencies
* Open source under the LGPL license
* Cross platform: builds for Windows (32/64), Linux PC(32/64), Mac OS X and Raspberry Pi
* Multiple language bindings: C/C++, C#, Python...
* Streamlined, easy to learn API that requires very little lines of code
* Built-in SDL-based windowing for quick tests
* Embeddable: Integrate inside any existing framework as a slave renderer
* Loads assets from open, standard file formats
* True raster effects: modify render parameters between scanlines
* Background layer scaling and rotation (affine transform)
* Sprite scaling
* Several blending modes for layers and sprites
* Pixel accurate sprite vs sprite collisions
* Many special effects: per-column offset, mosaic, per-pixel displacement...

http://www.tilengine.org