Harmonic Flow Framework (libhffwk)
Harmonic Flow Framework (libhffwk) is a cross platform 2D / 3D game engine framework written in C++.
Harmonic Flow Framework currently supports Windows, Mac OS, GNU/Linux, iOS and Android platforms, aiming to be easy-to-use, fast and easily extendable to other platforms if needed.
Check out these tagged blog entries for more information about new releases and other related information.
Harmonic Flow Framework features at a glance:
- Modern shader driven rendering pipeline.
- Vertex and Fragment (Pixel) shader support.
- Hardware accelerated rendering through OpenGL, OpenGL ES and Direct3D9.
- C++11 support enabled.
- Comes with powerful math library glm.
- Batch rendering.
- Flexible Geometry interface for complete control over the rendering.
- Multiple Windows.
- Render to Texture.
- UI Widgets (Dialog, Text, Checkbox, Slider, Scrollbar, List etc.).
- Joystick / Gamepad support.
- Music / Sound engine supporting OGG vorbis and WAV. SDL2 is used for the audio output.
- Flexible image loading through stb_image so that no external dependency is needed.
- WavefrontOBJ (.obj) 3D model loader support.
- Flexible language support for easy translation using XML.
- Flexible resource loading/unloading using XML.
- Flexible storage of user preferences / config data using XML.
- Bitmap fonts generated through supplied tool FontBuilder. (included under 'additional_tools/Font' folder)
- Image Atlas generated images through supplied tool. AtlasMaker. (included under 'additional_tools/ImageAtlas' folder)
- Tile maps using supplied tool tiled. (included under. 'additional_tools/tiled' folder)
- Pack game assets into a single file using engine tool hfpak.
- Included demos in 'demos' folder which aim is to show different features of the engine framework so you easily get started with new projects.
.. and more!
Harmonic Flow Framework supports the following platforms:
- Windows 7 or newer.
- GNU/Linux such as Debian, Ubuntu and more.
- Mac OS X 10.7 or newer (Intel only).
- iOS (iPad, iPhone, iPod Touch etc).
- Android 3.1 or newer.
- OpenGL 2.1 or newer for desktop (Windows, Mac OS and GNU/Linux).
- OpenGL ES 2.0 or newer for mobile (iOS and Android).
- DirectX 9.0c or newer for desktop Windows.
A compiler with C++11 support is required to build libhffwk.
libhffwk comes with Autotools and CMake toolchain support to keep building flexible using Makefiles or projects for your preferred IDE.
On Mac OS 'XCode command line tools' can be installed to be able to use the supplied build scripts (build_scripts/macosx*.sh).
On Windows MSYS2 + mingw toolchain can be installed to be able to use the supplied build scripts (build_scripts/windows*.sh).
On GNU/Linux, see 'additional_libs/README.SDL' for a list of packages typically needed for a distro such as Debian GNU/Linux.