Release v0.5
Pre-release
Pre-release
Release v0.5
This release builds on the previous version with significant new features, bug fixes, optimizations, and physics enhancements. It introduces support for sphere objects, improved collision detection, friction simulation, and advanced performance improvements.
New Features & Additions
-
Sphere Class & Integration
- Introduced a new Sphere class for creating spherical objects.
- Extended the
ThreeFizclass with anaddSpheremethod, along with adjustments to accommodate the new Sphere class. - Updated the
RigidBodyclass for sphere support, moving duplicated methods to the parent class.
-
Sphere-Cuboid Collision Relation
- Established collision relations between spheres and cuboids, expanding the system’s collision detection capabilities.
-
Friction Simulation Enhancements
- Integrated friction forces into the
RigidBodyclass, implementing Coulomb friction equations. - Introduced a Friction Test Demo to visualize friction effects in action.
- Integrated friction forces into the
Optimizations & Improvements
-
Performance Optimizations
- Disabled collision detection when all objects in a collision are static.
- Upgraded overall performance with extensive refactorizations and optimizations (v1 improvements).
- Improved collision impulse calculations for static objects by declaring the inverted inertia tensor directly.
- Added a
needsUpdateflag in theRigidBodyclass to ensure efficient updates.
-
Advanced Collision Detection
- Incorporated a Dynamic AABB Tree (#14) for enhanced collision detection in dynamic environments.
- Fixed and refined AABB updates:
- Sphere
updateAABBfix. - General AABB update improvements.
- OBB debug fix.
- Sphere
- Addressed issues with matrix updates and impulse equation optimizations.
Bug Fixes & Debugging Enhancements
- Fixed normal negation issues in spheres.
- Applied various small fixes and adjustments to friction calculations.
- Added an exception for collision resolving.
- Improved debugging tools, including options to show AABB for better visualization.
- Implemented a pause feature when content is not visible to optimize resource usage.
This release marks a major step forward in physics simulation and collision detection, offering robust support for both spherical and cuboid objects with enhanced performance and debugging capabilities.