mirror of
https://github.com/orange-cpp/omath.git
synced 2026-02-13 07:03:25 +00:00
cd08f8c742adde68a2711f4564d8afb6dc4749d5
Oranges's Math Library (omath)
Overview
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.
Features
- Efficiency: Optimized for performance, ensuring quick computations.
- Versatility: Includes a wide array of mathematical functions and algorithms.
- Ease of Use: Simplified interface for convenient integration into various projects.
Getting Started
Prerequisites
- C++ Compiler
- CMake (for building the project)
Installation
- Clone the repository:
git clone https://github.com/orange-cpp/omath.git - Navigate to the project directory:
cd omath - Build the project using CMake:
cmake --preset x64-release -S . cmake --build cmake-build/build/x64-release --target server -j 6
Usage
Simple world to screen function
std::optional<omath::Vector3> WorldToScreen(omath::Vector3 worldPosition, float width, float height)
{
auto projected = (GetViewProjectionMatrix() * worldPosition).transpose();
projected /= projected.at(0, 3);
const auto out = projected * omath::matrix::to_screen_matrix(width,
height);
if (out.at(0, 2) <= 0.f)
return std::nullopt;
auto final = omath::Vector3(out.at(0, 0),
out.at(0, 1),
out.at(0, 3));
return {final};
}
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 GPL V3 - see the LICENSE file for details.
Acknowledgments
- Orange | Telegram
Description
Cross-platform modern general purpose math library written in C++23 that suitable for cheat/game development.
https://libomath.org
3dcheatcheat-developmentcpp23game-developmentgame-hackinggamedeviwmathmatrixesopenglopengl3physicsprojectile-motion-simulationsource-engineunityunity3dunreal-engine
Readme
Zlib
14 MiB
Languages
C++
94%
CMake
4.1%
Shell
1.4%
Lua
0.5%