Lunar Engine
Description
Lunar Engine is a fully functional 2D game engine, with an easy to use API for developers.
The engine is written in C++ and OpenGL for developing all types of games and applications.
(Currently supported under Microsoft Windows 2000, XP, Vista, 7)
Projects currently using Lunar Engine:
Lunar Radiation
Features
General
- Blazing fast 2D rendering
- Full OpenGL 2.1 support
- Hardware adaptation
Managing
- Memory control
- Cache control
- Event listeners
- Secure objects
- Automated updates
Rendering
- Draw order based rendering
- On/off screen rendering
- Multi pass support
- Popular blending techniques
- Light blend for lighting effects
- Multiple shader programs
Rendering window
- Movable, resizable and scalable render window
- Full screen and windowed mode
- Message listeners
Input system
- OS native input system
- Full keyboard support
- Full mouse support including scroll wheel
Scripting
- Advanced built-in scripting language
- Scriptable classes, properties and inheritance support
- 16, 32 and 64-bits integer, boolean, string, color and vector data types
- Required and variable parameters
- Full type-checking
Resourcing
- Scriptable resource system
- Embedded MySQL database server and connector
- Customizable data tables for queries
- Automated data file system
Scene
- Node based scene graph
- Translatable, rotatable and scalable nodes
- Node rendering callbacks
- Rectangles, borders, ellipses and Bezier-curves
Collision detection
- Optimized collision detection system
- Axis-aligned bounding box collisions
- Oriented bounding box collisions
- Bounding sphere collisions
Shading
- GLSL 1.2 shader support
- Vertex and fragment shaders
- Scriptable shader programs
- Full uniform, attribute and sampler variable support
Capturing
- Capturing system for render to texture
- On/off screen capturing using frame buffer objects
- Automated viewport corrections
Threading
- Basic thread system for programmers using Pthreads
- Joinable threads
Timing
- Precise high resolution timer support
- Timer callbacks, when ticked
- Multiple timers and syncing capabilities
- Functionality for timing user code
File system
- Load/save plain and binary files
- Load/save encrypted files with custom key
- Strong 256-bit file encryption
Particle system
- Fast point sprite based particle system
- Scriptable particle systems
- Fully customizable particle emitters
- Six built-in particle affectors
- Support for user derived affectors
Font
- Texture based font system
- Full TrueType support using FreeType
- ASCII and extended ASCII support
Text
- Advanced text system integrated with fonts
- Customizable word wrapping
- Style tags and line breaks
- Left, center and right alignment
Sound
- Professional sound system using FMOD
- All popular sound formats
- Hardware and software sound support
- Sound streaming
- DSP spectrum analysis
- Multiple sound channels
Texture
- Advanced and robust texture system
- All popular image formats using FreeImage
- Power-of-two and non power-of-two images
- 24-bit (RGB) and 32-bit (RGBA) texture support
- Cropping and tiling support
Animation
- Easy to use animation system using FFmpeg
- All popular video formats including flv
- Alpha channel frame support
- Animation callbacks on frames
- Variable animation duration
Expression solver
- Built-in mathematical expression solver using Math Solver
- Multi-threaded calculations
- Unary, binary and ternary operations
- Unlimited nested parentheses
- True conditionals
- Hexadecimal, octal, quaternary and binary input/output
- User defined constants, variables and functions
- Step-by-step solution system
Random
- Statistically good random generators
- 32 and 64-bit generated numbers
Utilities
- Color/vector/matrix utilities
- Callback utilities, functors
- Date time utilities
- Random utilities
- Math utilities
- String utilities
- Type conversion utilities
|