Download HARFANG® for your favorite language and start creating.
Released 26 Mar 2018
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.
Win7 or newer
Win7 or newer