mirror of
https://github.com/orange-cpp/omath.git
synced 2026-02-12 22:53:27 +00:00
Improve documentation with cross-references and README enhancements
Co-authored-by: orange-cpp <59374393+orange-cpp@users.noreply.github.com>
This commit is contained in:
69
README.md
69
README.md
@@ -43,18 +43,45 @@ It provides the latest features, is highly customizable, has all for cheat devel
|
|||||||
</a>
|
</a>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
# Features
|
## 🚀 Quick Example
|
||||||
- **Efficiency**: Optimized for performance, ensuring quick computations using AVX2.
|
|
||||||
- **Versatility**: Includes a wide array of mathematical functions and algorithms.
|
```cpp
|
||||||
- **Ease of Use**: Simplified interface for convenient integration into various projects.
|
#include <omath/omath.hpp>
|
||||||
- **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.
|
using namespace omath;
|
||||||
- **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
|
// 3D vector operations
|
||||||
- **Ready for meta-programming**: Omath use templates for common types like Vectors, Matrixes etc, to handle all types!
|
Vector3<float> a{1, 2, 3};
|
||||||
- **Engine support**: Supports coordinate systems of **Source, Unity, Unreal, Frostbite, IWEngine and canonical OpenGL**.
|
Vector3<float> b{4, 5, 6};
|
||||||
- **Cross platform**: Supports Windows, MacOS and Linux.
|
|
||||||
- **Algorithms**: Has ability to scan for byte pattern with wildcards in PE files/modules, binary slices, works even with Wine apps.
|
auto dot = a.dot(b); // 32.0
|
||||||
|
auto cross = a.cross(b); // (-3, 6, -3)
|
||||||
|
auto distance = a.distance_to(b); // ~5.196
|
||||||
|
auto normalized = a.normalized(); // Unit vector
|
||||||
|
|
||||||
|
// World-to-screen projection (Source Engine example)
|
||||||
|
using namespace omath::source_engine;
|
||||||
|
Camera camera(position, angles, viewport, fov, near_plane, far_plane);
|
||||||
|
|
||||||
|
if (auto screen = camera.world_to_screen(world_position)) {
|
||||||
|
// Draw at screen->x, screen->y
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
**[➡️ See more examples and tutorials][TUTORIALS]**
|
||||||
|
|
||||||
|
# ✨ 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!
|
||||||
|
- **🎯 Engine support**: Supports coordinate systems of **Source, Unity, Unreal, Frostbite, IWEngine and canonical OpenGL**.
|
||||||
|
- **🌍 Cross platform**: Supports Windows, MacOS and Linux.
|
||||||
|
- **🔍 Algorithms**: Has ability to scan for byte pattern with wildcards in PE files/modules, binary slices, works even with Wine apps.
|
||||||
<div align = center>
|
<div align = center>
|
||||||
|
|
||||||
# Gallery
|
# Gallery
|
||||||
@@ -84,6 +111,22 @@ It provides the latest features, is highly customizable, has all for cheat devel
|
|||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
## 📚 Documentation
|
||||||
|
|
||||||
|
- **[Getting Started Guide](https://libomath.org/getting_started/)** - Installation and first steps
|
||||||
|
- **[API Overview](https://libomath.org/api_overview/)** - Complete API reference
|
||||||
|
- **[Tutorials](https://libomath.org/tutorials/)** - Step-by-step guides
|
||||||
|
- **[FAQ](https://libomath.org/faq/)** - Common questions and answers
|
||||||
|
- **[Troubleshooting](https://libomath.org/troubleshooting/)** - Solutions to common issues
|
||||||
|
- **[Best Practices](https://libomath.org/best_practices/)** - Guidelines for effective usage
|
||||||
|
|
||||||
|
## 🤝 Community & Support
|
||||||
|
|
||||||
|
- **Discord**: [Join our community](https://discord.gg/eDgdaWbqwZ)
|
||||||
|
- **Telegram**: [@orangennotes](https://t.me/orangennotes)
|
||||||
|
- **Issues**: [Report bugs or request features](https://github.com/orange-cpp/omath/issues)
|
||||||
|
- **Contributing**: See [CONTRIBUTING.md](CONTRIBUTING.md) for guidelines
|
||||||
|
|
||||||
# 💘 Acknowledgments
|
# 💘 Acknowledgments
|
||||||
- [All contributors](https://github.com/orange-cpp/omath/graphs/contributors)
|
- [All contributors](https://github.com/orange-cpp/omath/graphs/contributors)
|
||||||
|
|
||||||
@@ -93,8 +136,10 @@ It provides the latest features, is highly customizable, has all for cheat devel
|
|||||||
[CS2 Preview]: docs/images/showcase/cs2.jpeg
|
[CS2 Preview]: docs/images/showcase/cs2.jpeg
|
||||||
[TF2 Preview]: docs/images/showcase/tf2.jpg
|
[TF2 Preview]: docs/images/showcase/tf2.jpg
|
||||||
<!----------------------------------{ Buttons }--------------------------------->
|
<!----------------------------------{ Buttons }--------------------------------->
|
||||||
|
[QUICKSTART]: docs/getting_started.md
|
||||||
[INSTALL]: INSTALL.md
|
[INSTALL]: INSTALL.md
|
||||||
[DOCUMENTATION]: http://libomath.org
|
[DOCUMENTATION]: http://libomath.org
|
||||||
|
[TUTORIALS]: docs/tutorials.md
|
||||||
[CONTRIBUTING]: CONTRIBUTING.md
|
[CONTRIBUTING]: CONTRIBUTING.md
|
||||||
[EXAMPLES]: examples
|
[EXAMPLES]: examples
|
||||||
[SPONSOR]: https://boosty.to/orangecpp/purchase/3568644?ssource=DIRECT&share=subscription_link
|
[SPONSOR]: https://boosty.to/orangecpp/purchase/3568644?ssource=DIRECT&share=subscription_link
|
||||||
|
|||||||
@@ -168,4 +168,14 @@ public:
|
|||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
*Last updated: 31 Oct 2025*
|
## See Also
|
||||||
|
|
||||||
|
- [Plane Documentation](../3d_primitives/plane.md) - Ray-plane intersection
|
||||||
|
- [Box Documentation](../3d_primitives/box.md) - AABB collision detection
|
||||||
|
- [Triangle Documentation](../linear_algebra/triangle.md) - Triangle primitives
|
||||||
|
- [Tutorials - Collision Detection](../tutorials.md#tutorial-4-collision-detection) - Complete collision tutorial
|
||||||
|
- [Getting Started Guide](../getting_started.md) - Quick start with OMath
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
*Last updated: 1 Nov 2025*
|
||||||
|
|||||||
@@ -105,5 +105,9 @@ This satisfies `CameraEngineConcept` expected by `projection::Camera` (look-at,
|
|||||||
|
|
||||||
## See also
|
## See also
|
||||||
|
|
||||||
* Source Engine math helpers in `omath/engines/source_engine/formulas.hpp` (view/projection builders used above).
|
* [Source Engine Formulas](formulas.md) - View/projection matrix builders
|
||||||
* Generic camera wrapper `omath::projection::Camera` and its `CameraEngineConcept` (this trait is designed to plug straight into it).
|
* [Source Engine Constants](constants.md) - Engine-specific constants
|
||||||
|
* [Source Engine Pred Engine Trait](pred_engine_trait.md) - Projectile prediction for Source Engine
|
||||||
|
* [Generic Camera Documentation](../../projection/camera.md) - Camera base class
|
||||||
|
* [Getting Started Guide](../../getting_started.md) - Quick start with OMath
|
||||||
|
* [Tutorials - World-to-Screen](../../tutorials.md#tutorial-2-world-to-screen-projection) - Projection tutorial
|
||||||
|
|||||||
@@ -288,4 +288,13 @@ static Vector2 from_im_vec2(const ImVec2&) noexcept;
|
|||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
*Last updated: 31 Oct 2025*
|
## See Also
|
||||||
|
|
||||||
|
- [Vector3 Documentation](vector3.md) - 3D vector operations
|
||||||
|
- [Vector4 Documentation](vector4.md) - 4D vector operations
|
||||||
|
- [Getting Started Guide](../getting_started.md) - Quick start with OMath
|
||||||
|
- [Tutorials](../tutorials.md) - Step-by-step examples
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
*Last updated: 1 Nov 2025*
|
||||||
|
|||||||
@@ -294,4 +294,14 @@ bool is_perpendicular(const Vector3&) const noexcept;
|
|||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
*Last updated: 31 Oct 2025*
|
## See Also
|
||||||
|
|
||||||
|
- [Vector2 Documentation](vector2.md) - 2D vector operations
|
||||||
|
- [Vector4 Documentation](vector4.md) - 4D vector operations
|
||||||
|
- [Angle Documentation](../trigonometry/angle.md) - Working with angles
|
||||||
|
- [Getting Started Guide](../getting_started.md) - Quick start with OMath
|
||||||
|
- [Tutorials](../tutorials.md) - Practical examples including vector math
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
*Last updated: 1 Nov 2025*
|
||||||
|
|||||||
@@ -149,4 +149,14 @@ Return `nullopt` if `t*` is absent.
|
|||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
## See Also
|
||||||
|
|
||||||
|
- [Projectile Documentation](projectile.md) - Projectile properties
|
||||||
|
- [Target Documentation](target.md) - Target state representation
|
||||||
|
- [Legacy Implementation](proj_pred_engine_legacy.md) - Standard projectile prediction engine
|
||||||
|
- [AVX2 Implementation](proj_pred_engine_avx2.md) - Optimized AVX2 engine
|
||||||
|
- [Tutorials - Projectile Prediction](../tutorials.md#tutorial-3-projectile-prediction-aim-bot) - Complete aim-bot tutorial
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
*Last updated: 1 Nov 2025*
|
*Last updated: 1 Nov 2025*
|
||||||
|
|||||||
@@ -258,4 +258,13 @@ struct LHCTrait {
|
|||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
## See Also
|
||||||
|
|
||||||
|
- [Engine-Specific Camera Traits](../engines/) - Camera implementations for different game engines
|
||||||
|
- [View Angles Documentation](../trigonometry/view_angles.md) - Understanding pitch/yaw/roll
|
||||||
|
- [Getting Started Guide](../getting_started.md) - Quick start with projection
|
||||||
|
- [Tutorials - World-to-Screen](../tutorials.md#tutorial-2-world-to-screen-projection) - Complete projection tutorial
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
*Last updated: 1 Nov 2025*
|
*Last updated: 1 Nov 2025*
|
||||||
|
|||||||
Reference in New Issue
Block a user