Harmonic Flow Framework

Harmonic Flow Blog

Harmonic Flow Framework v0-6-0

What's new in version 0.6.0:

Complete rewrite of rendering pipeline to be completely shader driven.

  • Changed 'HF_PLATFORM_WIN32' Windows pre-processor flag to 'HF_PLATFORM_WINDOWS_D3D9'.
  • Windows: Removed a few deprecated API calls.
  • Mac: We don't need to build against X anymore.
  • Doxygen: Documentation updates.
  • Extended the functionality of Color class.
  • Updated stb/stb_image.h and stb/stb_vorbis.c to latest available version.
  • Multisample now works on mobile (Android and iOS) if enabled.
  • Enabled C++11 support. Engine now requires C++11 compatible compiler.
  • Render to Texture now works fine with 3D too.
  • Added support for Vertex and Fragment (Pixel) shaders.
  • Complete rewrite of 'Geometry' interface. Geometry interface gives complete control over the rendering and now requires Vertex and Fragment (Pixel) Shaders. Internally all helper 'draw*' methods use Geometry interface but for the helper methods default shaders are used if not set specifically to keep things simple and old code working.
  • Added glm math library v0.9.7.6.
  • Added new 'Transform' class which is a helper class for setting up projection and translations. It uses glm math library internally.
  • Updated SDL2 to version 2.0.5 and and added 64 bit libs for Windows.
  • Added 'HF_OFFSETOF' macro to replace 'offsetof'. *- Added 'tinyobjloader' single .h file for loading WavefrontOBJ 3D models (.obj).
  • Added new WavefrontOBJ Resource type which loads .obj 3D models using 'tinyobjloader' internally. It returns unique vertices, indices, tags and material info which easily can be dumped onto 'Geometry' interface for rendering.
  • Updated 'demos/demo1-minimal' to include more example code. It now loads and renders a few 3D models and also includes pixelate and blur shader tests on 2D images.
  • Renamed the following render to texture methods:
    • 'destroyRenderTargetTextures' to 'destroyRenderTextures'.
    • 'createRenderTargetTextures' to 'createRenderTextures'.
    • 'beginRenderTarget' to 'beginRenderTexture'.
    • 'endRenderTarget' to 'endRenderTexture'.
  • Renamed the following methods in 'Graphics.h':
    • 'setOrthoProjectionLH' to 'setOrthoProjection'.
    • 'setPerspectiveProjectionLH' to 'setPerspectiveProjection'.
    • 'setLookAtLH' to 'setLookAt'.
  • Added the following methods in 'Graphics.h':
    • 'drawGeometryArrays'.
    • 'drawGeometryElements'.
    • 'getTransform'.
    • 'setMatrixMode'.
    • 'rotateXDeg' and 'rotateXRad'.
    • 'rotateYDeg' and 'rotateYRad'.
    • 'getProjectionMatrix'.
    • 'getViewMatrix'.
    • 'getModelMatrix'.
    • 'getModelViewMatrix'.
    • 'getModelViewProjectionMatrix'.
    • 'setUpdateShaderMVP'.
    • 'setCullFaceEnabled'.
    • 'setCullFaceMode'.
    • 'setCullFaceOrder'.
    • 'isCullFaceEnabled'.
  • Added the following new methods in 'Environment.h':
    • 'createGeometry' (several differrent versions to match constructors in Geometry).
  • Added the following new methods in 'ResourceManager.h':
    • 'getShader'.
    • 'getWavefrontOBJ'.
    • 'getShaderFromPath'.
    • 'getShaderFromSource'.
    • 'getWavefrontOBJFromPath'.
  • Added the following new options in 'config.xml':
    • 'OpenGLContextMajorVersion'
    • 'OpenGLContextMinorVersion'
    • 'BatchDynamicBufferSize'
    • 'BatchStaticBufferSize'
    • 'BatchStaticUIBufferSize'
    • 'DepthBufferSize'
    • See 'demos/demo1-minimal/data/config.xml' for a complete example of all options.

Download the latest version here. Submit any bugs or thoughts here.

Posted on Mon, 31 Oct 2016
Tags: harmonic-flow-framework, harmonic-flow-news, libhffwk

Comment On This Entry

Submit a comment on this entry.