Transform is a header only C++ mathematics library for graphics software based on GLM and Real-Time Rendering.
Transform provides classes and functions to operate on vectors and matrices so that anyone who has read Real-Time Rendering can apply the concepts explained in the book to their code.
This project is written in C++20. It is a platform independent library supporting the following compilers:
You can add Transform to your CMake project to be built together. Add the project as a submodule with:
git submodule add -- https://github.com/Ediu3095/transform.git path/to/transform
Then compile it along with the rest of your project by adding the following to your CMakeLists.txt
:
add_subdirectory(path/to/transform)
target_link_libraries(main PRIVATE transform::transform)
If your project is not a git repository, another way to add Transform so that they are both compiled together is by using FetchContent
. Add the following to your CMakeLists.txt
:
cmake_minimum_required(VERSION 3.11) # FetchContent is new in version 3.11.
include(FetchContent)
FetchContent_Declare(
transform
GIT_REPOSITORY https://github.com/Ediu3095/transform.git
GIT_TAG b0c625e2c9793070d3bac9adff54e7544e73252d
)
FetchContent_MakeAvailable(transform)
target_link_libraries(main PRIVATE transform::transform)