HARFANG® 3D v3.2.2
This minor release brings several fixes, a better implementation of the AAA rendering pipeline including probe reprojection and a more stable screen space raytracer.
Improvements were made in the usability area, for Python development, as HARFANG will now output warnings as much as possible when users are calling for invalid API operations.
The Python build script was worked out to make the wheel available on Pypi for Linux OSes.
Framework integration and source code maintenance
- Improved the Python source package creation, to allow a
pip install from the source package and address this issue.
- The following development packages are necessary to rebuild Harfang:
- Allowed the tools to be called from a Python script.
- Allowed the tools to be called from a Lua script.
- External libraries update.
- Moved mikktspace and stb_image to extern.
- Fixed the License URL, removed a useless URL indirection.
- Removed the external libraries samples and tests from source package.
AssetsSource from assets.h.
- Fixed Assetc to prevent it from processing invalid geometries.
- GLTF importer:
- Better management of geometry instances
- Improved material translation.
- Sanitized the filenames when outputting files from the FBX and GLTF converters.
- FBX converter now exports materials as PBR by default.
- Assimp converter now exports materials as PBR by default.
- GLTF exporter:
- Added a
filter_disabled_node options to avoid exporting node.
- Fixed several bugs.
- ⚠️ Multiplication and maths API fixes:
- Removed vec * mat multiplications.
- Swapped row/column in the API to match the correct mathematical order.
- Removed mixed
Vec3 operations as the result was ambiguous.
- Added a binding for
- 🔰 Introduced a defensive programming approach in HARFANG Python, assuming the programmer is learning the API by trial and error:
- This is done using the debug log method so it can be completely deactivated when working on C++ projects.
- Demote most errors to warning. Errors are now strictly reserved for conditions from which a program written using HG cannot recover by itself/is not aware of.
- Fixed the
AddQuad method in the model builder. Added an helper method to quickly build common vertex configurations, see
- Animations support:
- Code cleanup to support the animation editor cleanup.
- Remove duplicate keys from animation track when calling
- Added a function to quantize scene animation.
- Additional scene animation APIs.
- Added the support of camera fov animations.
- Text input callback is now a signal, see
- Added a size field to
- Added a sharpen post-process.
- Added functions for orthographic projection to clip and screen space. See
- Added functions for orthographic unprojection. See
- Implemented a light probe reprojection in the Forward and AAA pipelines.
- Fixed the orientation of the cubemap in the probe generation.
- Load/save scene collision components.
- Added a missing cone collision component creation.
- Setup physics for instantiated nodes.
- Fixed a bug with local transformation for single collision shape nodes.
- Documented the coordinates system.
- Doxygen documentation update
The following screenshots were captured on a GTX 1080 in 1080P running at 60FPS, GI is performed using screen space raytracing and does not require RTX capable hardware.