mirror of
https://github.com/orange-cpp/omath.git
synced 2026-02-13 07:03:25 +00:00
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.
103 lines
5.0 KiB
Markdown
103 lines
5.0 KiB
Markdown
<div align = center>
|
|
|
|

|
|
|
|

|
|

|
|

|
|
[](https://www.codefactor.io/repository/github/orange-cpp/omath)
|
|

|
|
[](https://repology.org/project/orange-math/versions)
|
|

|
|
[](https://discord.gg/eDgdaWbqwZ)
|
|
[](https://t.me/orangennotes)
|
|
|
|
</div>
|
|
|
|
Oranges's Math Library (omath) is a comprehensive, open-source library aimed at providing efficient, reliable, and versatile mathematical functions and algorithms. Developed primarily in C++, this library is designed to cater to a wide range of mathematical operations essential in scientific computing, engineering, and academic research.
|
|
|
|
<div align = center>
|
|
<a href="https://www.star-history.com/#orange-cpp/omath&Date">
|
|
<picture>
|
|
<source media="(prefers-color-scheme: dark)" srcset="https://api.star-history.com/svg?repos=orange-cpp/omath&type=Date&theme=dark" />
|
|
<source media="(prefers-color-scheme: light)" srcset="https://api.star-history.com/svg?repos=orange-cpp/omath&type=Date" />
|
|
<img alt="Star History Chart" src="https://api.star-history.com/svg?repos=orange-cpp/omath&type=Date" />
|
|
</picture>
|
|
</a>
|
|
</div>
|
|
|
|
## 👁🗨 Features
|
|
- **Efficiency**: Optimized for performance, ensuring quick computations using AVX2.
|
|
- **Versatility**: Includes a wide array of mathematical functions and algorithms.
|
|
- **Ease of Use**: Simplified interface for convenient integration into various projects.
|
|
- **Projectile Prediction**: Projectile prediction engine with O(N) algo complexity, that can power you projectile aim-bot.
|
|
- **3D Projection**: No need to find view-projection matrix anymore you can make your own projection pipeline.
|
|
- **Collision Detection**: Production ready code to handle collision detection by using simple interfaces.
|
|
- **No Additional Dependencies**: No additional dependencies need to use OMath except unit test execution
|
|
- **Ready for meta-programming**: Omath use templates for common types like Vectors, Matrixes etc, to handle all types!
|
|
|
|
## Supported Render Pipelines
|
|
| ENGINE | SUPPORT |
|
|
|----------|---------|
|
|
| Source | ✅YES |
|
|
| Unity | ✅YES |
|
|
| IWEngine | ✅YES |
|
|
| OpenGL | ✅YES |
|
|
| Unreal | ✅YES |
|
|
|
|
## Supported Operating Systems
|
|
|
|
| OS | SUPPORT |
|
|
|----------------|---------|
|
|
| Windows 10/11 | ✅YES |
|
|
| Linux | ✅YES |
|
|
| Darwin (MacOS) | ✅YES |
|
|
|
|
## ⏬ Installation
|
|
Please read our [installation guide](https://github.com/orange-cpp/omath/blob/main/INSTALL.md). If this link doesn't work check out INSTALL.md file.
|
|
|
|
## ❔ Usage
|
|
ESP example
|
|
```c++
|
|
omath::source_engine::Camera cam{localPlayer.GetCameraOrigin(),
|
|
localPlayer.GetAimPunch(),
|
|
{1920.f, 1080.f},
|
|
localPlayer.GetFieldOfView(),
|
|
0.01.f, 30000.f};
|
|
|
|
for (auto ent: apex_sdk::EntityList::GetAllEntities())
|
|
{
|
|
const auto bottom = cam.world_to_screen(ent.GetOrigin());
|
|
const auto top = cam.world_to_screen(ent.GetBonePosition(8) + omath::Vector3<float>{0, 0, 10});
|
|
|
|
const auto ent_health = ent.GetHealth();
|
|
|
|
if (!top || !bottom || ent_health <= 0)
|
|
continue;
|
|
// esp rendering...
|
|
}
|
|
```
|
|
## Showcase
|
|
<details>
|
|
<summary>OMATH for making cheats (click to open)</summary>
|
|
|
|
With `omath/projection` module you can achieve simple ESP hack for powered by Source/Unreal/Unity engine games, like [Apex Legends](https://store.steampowered.com/app/1172470/Apex_Legends/).
|
|
|
|

|
|
Or for InfinityWard Engine based games. Like Call of Duty Black Ops 2!
|
|

|
|
Or create simple trigger bot with embeded traceline from omath::collision::LineTrace
|
|

|
|
Or even advanced projectile aimbot
|
|
[Watch Video](https://youtu.be/lM_NJ1yCunw?si=5E87OrQMeypxSJ3E)
|
|
</details>
|
|
|
|
## 🫵🏻 Contributing
|
|
Contributions to `omath` are welcome! Please read `CONTRIBUTING.md` for details on our code of conduct and the process for submitting pull requests.
|
|
|
|
## 📜 License
|
|
This project is licensed under the ZLIB - see the `LICENSE` file for details.
|
|
|
|
## 💘 Acknowledgments
|
|
- [All contributors](https://github.com/orange-cpp/omath/graphs/contributors)
|