HARFANG® 3D v1.0.0
Downloads
Windows 64-bit
Description | Download |
---|---|
Python 3.2 and newer wheel | Download |
Lua 5.3 extension | Download |
FBX Converter (Autodesk FBX SDK) | Download |
C++ SDK (C++11) | Download |
Windows 32-bit
Description | Download |
---|---|
Python 3.2 and newer wheel | Download |
Lua 5.3 extension | Download |
FBX Converter (Autodesk FBX SDK) | Download |
C++ SDK (C++11) | Download |
Ubuntu 14.04 LTS
Description | Download |
---|---|
Python 3.2 and newer wheel | Download |
Lua 5.3 extension | Download |
FBX Converter (Autodesk FBX SDK) | Download |
C++ SDK (C++11) | Download |
Documentation
Release Notes
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.