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 and GNU/Linux platforms, aiming to be easy-to-use, 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 and Direct3D9.
- C++14 support enabled.
- Comes with powerful math library glm.
- Batch rendering.
- Flexible Geometry interface for complete control over the rendering.
- 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.
- Command line tool 'hfbmfont': Generates bitmap fonts for use in game. Outputs PNG and descriptor file.
- Command line tool 'hftexpack': Generates texture atlas for use in game. Outputs PNG and descriptor file.
- Command line tool 'hfpak': Pack game assets into a single pak file.
- 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.
- OpenGL 2.1 or newer for desktop (Windows and GNU/Linux).
- DirectX 9.0c or newer for desktop Windows.
A compiler with C++14 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 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.