The view angle rotation matrix order in Unreal Engine was incorrect, leading to incorrect camera orientation.
This commit fixes the order of rotation matrices to roll, pitch, yaw
to correctly implement Unreal Engine camera rotations.
Adds comprehensive unit tests for Unreal Engine formulas, camera and constants.
Marks Unreal Engine as supported in README.md.
Adds Unreal Engine-specific implementations for camera and projectile prediction calculations.
This includes:
- Defining constants and data types tailored for Unreal Engine's coordinate system and conventions.
- Implementing functions for calculating forward, right, and up vectors, view matrices, and perspective projection matrices.
- Providing camera trait for look-at angle calculations and projection matrix generation.
- Implements projectile prediction traits and utilities.
Updates unit tests to include more accurate assertions for camera projections.
Adds .idea/workspace.xml to .gitignore to prevent tracking local IDE settings.
Refactors some test fixture class names for consistency.
Adds project-specific IDE settings to improve code style consistency and development environment.
Removes the .idea directory from the .gitignore file, as these files are now intended to be part of the project for consistent IDE configuration across contributors.
Adds less than, greater than, less than or equal, and greater than or equal operators to the Vector2, Vector3 and Vector4 classes.
The comparison is based on the lengths of the vectors.
Adds corresponding unit tests.
The changes encapsulate the matrix tests within an `#ifdef` block, allowing conditional compilation based on whether `OMATH_ENABLE_LEGACY` is defined. This enables the legacy code to be compiled only when needed.
Updates the CMakeLists.txt to use the project name as the library target name instead of hardcoding "omath".
This change ensures consistency and avoids potential conflicts when integrating the library into other projects.
It also aligns the target naming with CMake best practices.