Skip to content

Commit f3d5f84

Browse files
Copilotorange-cpp
andcommitted
Improve documentation with cross-references and README enhancements
Co-authored-by: orange-cpp <[email protected]>
1 parent 0b89c1d commit f3d5f84

File tree

7 files changed

+114
-17
lines changed

7 files changed

+114
-17
lines changed

README.md

Lines changed: 57 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -43,18 +43,45 @@ It provides the latest features, is highly customizable, has all for cheat devel
4343
</a>
4444
</div>
4545

46-
# Features
47-
- **Efficiency**: Optimized for performance, ensuring quick computations using AVX2.
48-
- **Versatility**: Includes a wide array of mathematical functions and algorithms.
49-
- **Ease of Use**: Simplified interface for convenient integration into various projects.
50-
- **Projectile Prediction**: Projectile prediction engine with O(N) algo complexity, that can power you projectile aim-bot.
51-
- **3D Projection**: No need to find view-projection matrix anymore you can make your own projection pipeline.
52-
- **Collision Detection**: Production ready code to handle collision detection by using simple interfaces.
53-
- **No Additional Dependencies**: No additional dependencies need to use OMath except unit test execution
54-
- **Ready for meta-programming**: Omath use templates for common types like Vectors, Matrixes etc, to handle all types!
55-
- **Engine support**: Supports coordinate systems of **Source, Unity, Unreal, Frostbite, IWEngine and canonical OpenGL**.
56-
- **Cross platform**: Supports Windows, MacOS and Linux.
57-
- **Algorithms**: Has ability to scan for byte pattern with wildcards in PE files/modules, binary slices, works even with Wine apps.
46+
## 🚀 Quick Example
47+
48+
```cpp
49+
#include <omath/omath.hpp>
50+
51+
using namespace omath;
52+
53+
// 3D vector operations
54+
Vector3<float> a{1, 2, 3};
55+
Vector3<float> b{4, 5, 6};
56+
57+
auto dot = a.dot(b); // 32.0
58+
auto cross = a.cross(b); // (-3, 6, -3)
59+
auto distance = a.distance_to(b); // ~5.196
60+
auto normalized = a.normalized(); // Unit vector
61+
62+
// World-to-screen projection (Source Engine example)
63+
using namespace omath::source_engine;
64+
Camera camera(position, angles, viewport, fov, near_plane, far_plane);
65+
66+
if (auto screen = camera.world_to_screen(world_position)) {
67+
// Draw at screen->x, screen->y
68+
}
69+
```
70+
71+
**[➡️ See more examples and tutorials][TUTORIALS]**
72+
73+
# ✨ Features
74+
- **🚀 Efficiency**: Optimized for performance, ensuring quick computations using AVX2.
75+
- **🎯 Versatility**: Includes a wide array of mathematical functions and algorithms.
76+
- **✅ Ease of Use**: Simplified interface for convenient integration into various projects.
77+
- **🎮 Projectile Prediction**: Projectile prediction engine with O(N) algo complexity, that can power you projectile aim-bot.
78+
- **📐 3D Projection**: No need to find view-projection matrix anymore you can make your own projection pipeline.
79+
- **💥 Collision Detection**: Production ready code to handle collision detection by using simple interfaces.
80+
- **📦 No Additional Dependencies**: No additional dependencies need to use OMath except unit test execution
81+
- **🔧 Ready for meta-programming**: Omath use templates for common types like Vectors, Matrixes etc, to handle all types!
82+
- **🎯 Engine support**: Supports coordinate systems of **Source, Unity, Unreal, Frostbite, IWEngine and canonical OpenGL**.
83+
- **🌍 Cross platform**: Supports Windows, MacOS and Linux.
84+
- **🔍 Algorithms**: Has ability to scan for byte pattern with wildcards in PE files/modules, binary slices, works even with Wine apps.
5885
<div align = center>
5986

6087
# Gallery
@@ -84,6 +111,22 @@ It provides the latest features, is highly customizable, has all for cheat devel
84111

85112
</div>
86113

114+
## 📚 Documentation
115+
116+
- **[Getting Started Guide](https://libomath.org/getting_started/)** - Installation and first steps
117+
- **[API Overview](https://libomath.org/api_overview/)** - Complete API reference
118+
- **[Tutorials](https://libomath.org/tutorials/)** - Step-by-step guides
119+
- **[FAQ](https://libomath.org/faq/)** - Common questions and answers
120+
- **[Troubleshooting](https://libomath.org/troubleshooting/)** - Solutions to common issues
121+
- **[Best Practices](https://libomath.org/best_practices/)** - Guidelines for effective usage
122+
123+
## 🤝 Community & Support
124+
125+
- **Discord**: [Join our community](https://discord.gg/eDgdaWbqwZ)
126+
- **Telegram**: [@orangennotes](https://t.me/orangennotes)
127+
- **Issues**: [Report bugs or request features](https://github.com/orange-cpp/omath/issues)
128+
- **Contributing**: See [CONTRIBUTING.md](CONTRIBUTING.md) for guidelines
129+
87130
# 💘 Acknowledgments
88131
- [All contributors](https://github.com/orange-cpp/omath/graphs/contributors)
89132

@@ -93,8 +136,10 @@ It provides the latest features, is highly customizable, has all for cheat devel
93136
[CS2 Preview]: docs/images/showcase/cs2.jpeg
94137
[TF2 Preview]: docs/images/showcase/tf2.jpg
95138
<!----------------------------------{ Buttons }--------------------------------->
139+
[QUICKSTART]: docs/getting_started.md
96140
[INSTALL]: INSTALL.md
97141
[DOCUMENTATION]: http://libomath.org
142+
[TUTORIALS]: docs/tutorials.md
98143
[CONTRIBUTING]: CONTRIBUTING.md
99144
[EXAMPLES]: examples
100145
[SPONSOR]: https://boosty.to/orangecpp/purchase/3568644?ssource=DIRECT&share=subscription_link

docs/collision/line_tracer.md

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -168,4 +168,14 @@ public:
168168

169169
---
170170

171-
*Last updated: 31 Oct 2025*
171+
## See Also
172+
173+
- [Plane Documentation](../3d_primitives/plane.md) - Ray-plane intersection
174+
- [Box Documentation](../3d_primitives/box.md) - AABB collision detection
175+
- [Triangle Documentation](../linear_algebra/triangle.md) - Triangle primitives
176+
- [Tutorials - Collision Detection](../tutorials.md#tutorial-4-collision-detection) - Complete collision tutorial
177+
- [Getting Started Guide](../getting_started.md) - Quick start with OMath
178+
179+
---
180+
181+
*Last updated: 1 Nov 2025*

docs/engines/source_engine/camera_trait.md

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -105,5 +105,9 @@ This satisfies `CameraEngineConcept` expected by `projection::Camera` (look-at,
105105

106106
## See also
107107

108-
* Source Engine math helpers in `omath/engines/source_engine/formulas.hpp` (view/projection builders used above).
109-
* Generic camera wrapper `omath::projection::Camera` and its `CameraEngineConcept` (this trait is designed to plug straight into it).
108+
* [Source Engine Formulas](formulas.md) - View/projection matrix builders
109+
* [Source Engine Constants](constants.md) - Engine-specific constants
110+
* [Source Engine Pred Engine Trait](pred_engine_trait.md) - Projectile prediction for Source Engine
111+
* [Generic Camera Documentation](../../projection/camera.md) - Camera base class
112+
* [Getting Started Guide](../../getting_started.md) - Quick start with OMath
113+
* [Tutorials - World-to-Screen](../../tutorials.md#tutorial-2-world-to-screen-projection) - Projection tutorial

docs/linear_algebra/vector2.md

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -288,4 +288,13 @@ static Vector2 from_im_vec2(const ImVec2&) noexcept;
288288

289289
---
290290

291-
*Last updated: 31 Oct 2025*
291+
## See Also
292+
293+
- [Vector3 Documentation](vector3.md) - 3D vector operations
294+
- [Vector4 Documentation](vector4.md) - 4D vector operations
295+
- [Getting Started Guide](../getting_started.md) - Quick start with OMath
296+
- [Tutorials](../tutorials.md) - Step-by-step examples
297+
298+
---
299+
300+
*Last updated: 1 Nov 2025*

docs/linear_algebra/vector3.md

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -294,4 +294,14 @@ bool is_perpendicular(const Vector3&) const noexcept;
294294

295295
---
296296

297-
*Last updated: 31 Oct 2025*
297+
## See Also
298+
299+
- [Vector2 Documentation](vector2.md) - 2D vector operations
300+
- [Vector4 Documentation](vector4.md) - 4D vector operations
301+
- [Angle Documentation](../trigonometry/angle.md) - Working with angles
302+
- [Getting Started Guide](../getting_started.md) - Quick start with OMath
303+
- [Tutorials](../tutorials.md) - Practical examples including vector math
304+
305+
---
306+
307+
*Last updated: 1 Nov 2025*

docs/projectile_prediction/projectile_engine.md

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -149,4 +149,14 @@ Return `nullopt` if `t*` is absent.
149149
150150
---
151151
152+
## See Also
153+
154+
- [Projectile Documentation](projectile.md) - Projectile properties
155+
- [Target Documentation](target.md) - Target state representation
156+
- [Legacy Implementation](proj_pred_engine_legacy.md) - Standard projectile prediction engine
157+
- [AVX2 Implementation](proj_pred_engine_avx2.md) - Optimized AVX2 engine
158+
- [Tutorials - Projectile Prediction](../tutorials.md#tutorial-3-projectile-prediction-aim-bot) - Complete aim-bot tutorial
159+
160+
---
161+
152162
*Last updated: 1 Nov 2025*

docs/projection/camera.md

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -258,4 +258,13 @@ struct LHCTrait {
258258
259259
---
260260
261+
## See Also
262+
263+
- [Engine-Specific Camera Traits](../engines/) - Camera implementations for different game engines
264+
- [View Angles Documentation](../trigonometry/view_angles.md) - Understanding pitch/yaw/roll
265+
- [Getting Started Guide](../getting_started.md) - Quick start with projection
266+
- [Tutorials - World-to-Screen](../tutorials.md#tutorial-2-world-to-screen-projection) - Complete projection tutorial
267+
268+
---
269+
261270
*Last updated: 1 Nov 2025*

0 commit comments

Comments
 (0)