Harfang3D v3.2.0 Release Notes
Release Date: 2022-02-21 // about 2 years ago-
๐ This minor release brings several fixes, performance improvements and new features to the rendering, physics and audio APIs.
๐ง Source code maintenance
- ๐ Cleanup sources, remove spurious hg namespace specifiers and run clang format on affected sources.
- โก๏ธ Updated the GLFW CMake to improve the resolution of the library path on Linux.
- โก๏ธ Updated ImGui to v1.87.
Engine
- Implement model load queuing (see
ProcessModelLoadQueue
,ProcessLoadQueues
,LSSF_QueueTextureLoads
,LSSF_QueueModelLoad
). - ๐ Support replay and streaming of OGG files (see
LoadOGGSoundFile
,LoadOGGSoundAsset
,StreamOGGFileStereo
,StreamOGGAssetStereo
,StreamOGGFileSpatialized
,StreamOGGAssetSpatialized
). - โ Added a
Mat4
copy constructor. - โ Added missing declarations for
LoadImage*
functions. - โ Added a flag to prevent changing the current camera when loading a scene, if the current camera points to a valid node (see
LSSF_DoNotChangeCurrentCameraIfValid
). - โ Added an
is_file
field to the structure returned byGetFileInfo
. - ๐ Simplify scene binary loader, removed versioning code:
- Removed unused members from the
RigidBody_
struct. - Reduced memory footprint of
RigidBody_
to 6 bytes.
- Removed unused members from the
- ๐ Performance improvements on multiple scene loading (through instances).
- โ Added a profiling API (see
BeginProfilerSection
,EndProfilerSection
,EndProfilerFrame
,CaptureProfilerFrame
,PrintProfilerFrame
). - โ Added a Videostream plugin interface (see
MakeVideoStreamer
). - ๐ Fixed scene animation garbage collection.
- ๐ Fixed a bug with Unicode support in assetc.
- ๐ Fixed an issue with trailing slashes on Linux in the assetc command line.
Rendering
- Fixed an issue in the viewport computation when upscaling half buffers in the AAA rendering pipeline.
- Added a
z_thickness
param to the AAA rendering pipeline. - Added a series of cubemap render functions.
- Implemented and documented all supported pipeline program features.
Physics
- ๐ New functions to lock translations and rotations in a more consistent way with the Bullet API:
NodeSetLinearLockAxes
,NodeSetAngularLockAxes
replaced byNodeSetLinearFactor
,NodeSetAngularFactor
.NodeGetLinearLockAxes
,NodeGetAngularLockAxes
replaced byNodeGetLinearFactor
,NodeGetAngularFactor
.
- โ Added AddTorque/AddTorqueImpulse to physics API:
NodeAddTorque
,NodeAddTorqueImpulse
- ๐ Simplified the physics collision/contact query code, unified collision query API for
NodeCollideWorld
andStepSimulation
(seeCollectCollisionEvents
). - Implemented
NodeTeleport
in Bullet physics. - ๐ Improved the transform synchronization logic, set node world transform using the fast scene path (see
SyncTransformsFromScene
,SyncTransformsToScene
). - โ Added proper motion interpolation in Bullet physics synchronize to scene.
- โ Added missing functions to create all supported collision shape types.
๐ Documentation
- โ Added a missing reference to the requirements page in the main index.
- ๐ Improved the
LoadSceneXXX
functions documentation. - ๐ Fixed both Lua and Python code snippets.
- ๐ Improved the clarity of functions using bitflags by adding support for constants group in the documentation generator.
- โก๏ธ Update of ownership and views manual pages.