mirror of
https://github.com/orange-cpp/omath.git
synced 2026-02-12 22:53:27 +00:00
edc01cfece7e6efc402c39bce98b7bccf21b11c0
Universal Math Library (UML)
Overview
The Universal Math Library (UML) 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/VladislavAlpatov/uml.git - Navigate to the project directory:
cd uml - 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<uml::Vector3> WorldToScreen(uml::Vector3 worldPosition, float width, float height)
{
auto projected = (GetViewProjectionMatrix() * worldPosition).transpose();
projected /= projected.at(0, 3);
const auto out = projected * uml::matrix::to_screen_matrix(width,
height);
if (out.at(0,2) <= 0.f)
return std::nullopt;
auto final = uml::Vector3(out.at(0,0),
out.at(0, 1),
out.at(0,2));
return {final};
}
Contributing
Contributions to UML 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
- Vladislav Alpatov | 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%