Get HARFANG®

Download HARFANG® for your favorite language and start creating.

1.0.0

Released 26 Mar 2018

close icon
Release notes

What's new, what's changed and what's fixed.

Version 1.0.0 (2018-03-19 15:07:21+00:00):

API Changes:

- General: An explicit EndFrame call is now required to properly mark the end of a display frame.
- General: All time/duration are now passed as hg::time_ns which is a 64 bit integer storing nanoseconds.
- General: The move to C++11 STL forced a move from intrusive shared_ptr to non-intrusive shared_ptr. As a consequence many functions now take a shared_ptr where they took a T before.
- General: Add a SaveScene helper function.
- Render: HasResource methods now return a boolean, use GetResource to retrieve the resource object itself.
- Plus: Improve the render window API to allow for multiple output window.
- Plus: AddPlane, AddCube, AddSphere now accept a use geometry cache parameter.
- Material: AddValue returns the newly created value.

New features:

- General: Harfang is now available as a C++ SDK.
- General: OpenFileDialog/SaveFileDialog
- General: Integrated profiler in the runtime debugger (Alt+Shift+F10 to open when using the Plus API).
- Scene: Decorator component to efficiently display a large number of geometry instances.
- Scene: New MetaData component that can be used to store arbitrary data in a Scene or Node.
- Movie: Add support for WebM movie streaming to texture.
- VR: Samsung GearVR support.
- Audio: 3D virtualization HRTF support in OpenAL mixer.
- Audio: Streams can be started paused to allow pre-buffering multiple streams and starting them in sync.
- Audio: Add a method to query a stream buffering percentage.
- Audio: API improvement to allow starting a stream from a specific position.
- FBX converter: Support for an Lua Finalizer script that can modify converted resources before they are written to disk.

Improvements:

- General: Improve log output, terminal output should never come out garbled anymore.
- General: Core datas are now bundled inside the Harfang binaries and not as an external data dependency.
- Render: Warn when a render resource fails to load.
- Scene: Return false when PickWorld picks on the background Z value.
- Scene: A scene can now be rendered without a camera.
- Input: Access to the full 128 buttons of a DirectInput device.
- Plus: Implement fixed 2d resolution support in Plus.

Bug fixes:

- Render: Fix render material related crash when its surface shader fails to load.
- Render: Fix broken DDS mipmap support.
- Render: Terrain clipping fix for off-centered terrains.
- Render: Fix transparent render primitives draw order.
- VR: Fix crash when no OpenVR controller is connected.
- Movie: Allow seeking after a movie has finished playing.
- Audio: Fix a seeking bug in Vorbis streams using a large packet size.
- General: Matrix3 Set/GetTranslation out of bound data access.

Other:

- General: Many core components have been moved to plugins (OpenGL renderer, OpenAL mixer, OpenVR support, etc...).
- General: Harfang now requires a compatible C++11 compiler to build.
- General: Add build date and time to the Harfang header log.
- FBX converter: Add rotation conversion and set the cone and edge angles.
- FBX converter: Calculate normal or tangent if they are not available in the source FBX geometry.
- FBX converter: Compare UV channels content and materials when detecting instances.
- FBX converter: Add command line toggle to calculate normals or tangent frames if they are missing from the geometry.
- FBX converter: Support scene ambient color.
- FBX converter: Export medata to Medata component.
- FBX converter: Support for material glossiness.
- FBX converter: Support for many new material combinations.
- Audio: Switch to OpenAL mixer soft.
- VR: Update to the lastest OpenVR API/DLL.
- Physics: Update to Bullet 2.86.
- ImGui: Update to ImGui 1.53.
- Lua: The only supported Lua variant is now the latest official Lua 5.3.
close icon
Windows 64-bit

Win7 or newer

download icon Python module Wheel for Python 3.2 and up
download icon C++ SDK Requires a C++11 compliant compiler
download icon FBX converter based on Autodesk FBX SDK
download icon Lua extension for Lua 5.3
close icon
Windows 32-bit

Win7 or newer

download icon Python module Wheel for Python 3.2 and up
download icon C++ SDK Requires a C++11 compliant compiler
download icon FBX converter based on Autodesk FBX SDK
download icon Lua extension for Lua 5.3
close icon
Ubuntu

14.04 LTS

download icon Python module Wheel for Python 3.2 and up
download icon C++ SDK Requires a C++11 compliant compiler
download icon FBX converter based on Autodesk FBX SDK
download icon Lua extension for Lua 5.3
close icon
Documentation (HTML)

Offline documentation in HTML format.

download icon Documentation (HTML)