Thor is an open-source and cross-platform library written in the programming language C++. It is an extension to SFML, a multimedia library with functionality for 2D graphics, audio, network, user input and more. While SFML provides rather basic, generic features to allow a wide range of applications, the Thor library comes with high-level features that base on this framework and that are supposed to help in daily C++ routine, especially with respect to graphics and game programming.

To use Thor, you need a compiler compliant to C++11, for example Visual Studio 2010 or g++ 4.6.


The Thor library consists of several small modules, as shown below:

Animation Classes to animate sprites and other objects
Graphics Various graphical functionality like big textures or color gradients
Input Actions to combine real-time input and events, callbacks, enum-string conversions
Math Random number generation and Delaunay triangulation
Particles Particle system with emitters and affectors
Resources Generic resource manager with automated loading and shared access
Shapes Concave shapes, arrows, and other predefined figures
Time Pausable clocks and timers, optional callbacks at expiration time
Vectors Dot and cross products, angles, length, and more


Thor is completely free to use, for both open-source and closed-source projects. It is licensed under the zlib/libpng license. Even though the license doesn't enforce this, I would appreciate a short acknowledgement in your product if you use the Thor library.