PhoenixCore 0.2 - 'Nightingale' released
Why i care
I am currently using PhoenixCore for my Uplink Clone, and have watched it progress out of PhoenixGL. Jon Parrott made an incredibly cool approach to using a 2d engine with really great performance. More of his awesome work is found on the right or over here Link
PhoenixCore is EASY, its straightfoward and its high level enough to be powerful. And its easy.
What is it
Straight from the site,
PhoenixCore is an experimental 2D rendering framework based on OpenGL and written in C++. It is a fairly abstract library for rendering 2D geometry.
PhoenixCore's features include:
- Setting up an OpenGL Context.
- Processing user Input (Keyboard, Mouse).
- Managing OpenGL Context (swapping buffers, etc).
- Provides abstract math classes for Vectors and Matrices.
- Provides interface to loading and manipulating Textures.
- Provides methods to modify the View Port and Transformation Matrix.
- Provides classes for representing geometric primitives.
- Provides methods for drawing geometric primitives.
- Provides abstract class for Color representation and manipulation.
- Provides access to high-precision timers.
- Provides high-level threaded resource management.
- Implements and experimental automatic optimizing batch renderer.
Downloads and Docs
Docs are over here Docs
Get it over here Download
Nightingale has several differences from 0.1. It contains major API changes and upgrading should be taken with caution.
- Changed Droppable, Resource, and ResourceManager significantly. They no longer use the create() method or private constructors. They now use intrusive_ptrs instead of shared_ptrs which simplifies our interface.
- Abstracted the WindowManager interface and implement GLFW as a WindowManager. This allows us to support other window managers in the future. A new window event interface that uses boost::signals2. Removed the core's dependence on the EventReceiver and made it a singleton. It now has functions for getting what the user has typed ( getKeyboardString ). It also now uses the new WindowEvent system and is used exclusively in client code
- BatchGeometry's group functions are now taken care of by GroupState objects that are attached to the BatchRenderer for each group id. More, more.