Ness-engine
Ness-Engine is an open source 2D rendering engine written in C++ under the zlib license. It uses SDL2.0 for rendering and event handling.
Design
The engine is primarily designed for an object-oriented approach to scene rendering; Every renderable object in the engine is either an entity or a scene node arranged in a Scene graph structure, transformations and other rendering effects are inherited from parent nodes to their sons.
Languages
The engine is written in C++ and currently have no bindings to other languages.
Features
Ness-Engine provides the following graphic functions:
- Sprites:
- Support scaling, rotation, flipping, alpha blending, mod and additive blending, color tinting and opacity.
- Render on sprites, masking using external texture.
- Sprite sheet animation.
- Extendable sprite class.
- Rendering utilities:
- Built-in z-ordering.
- 2D lighting effects.
- 2D Particles system.
- 2D Camera object with limits and auto-focusing on given target.
- Built-in tile engine, extendable into Isometric tile engine.
- Built-in background scrolling / Parallax scrolling.
- Rendering targets that allows to render an entire scene or node onto a texture or sprite.
- Static nodes to render massive amount of static entities with low cost.
- Text:
- Built in text object with multi-lines support.
- Text supports all Sprite transformations and effects.
- Replaceable fonts, support any ttf format.
- File Types:
- Support TEXtures from file types: GIF, BMP, PNG, JPEG.
- Input:
- Keyboard/mouse input manager.
- Shapes:
- Render shapes.
- filled/outlined.