95 lines
3.0 KiB
C
95 lines
3.0 KiB
C
// =====================================================================================================================
|
|
// fennec, a free and open source game engine
|
|
// Copyright © 2025 Medusa Slockbower
|
|
//
|
|
// This program is free software: you can redistribute it and/or modify
|
|
// it under the terms of the GNU General Public License as published by
|
|
// the Free Software Foundation, either version 3 of the License, or
|
|
// (at your option) any later version.
|
|
//
|
|
// This program is distributed in the hope that it will be useful,
|
|
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
// GNU General Public License for more details.
|
|
//
|
|
// You should have received a copy of the GNU General Public License
|
|
// along with this program. If not, see <https://www.gnu.org/licenses/>.
|
|
// =====================================================================================================================
|
|
|
|
///
|
|
/// \file math.h
|
|
/// \brief main math header which includes the main modules
|
|
///
|
|
///
|
|
/// \details This header includes the following modules of \ref fennec_math :
|
|
/// - \ref fennec_math_scalar
|
|
/// - \ref fennec_math_vector
|
|
/// - \ref fennec_math_trigonometric
|
|
///
|
|
/// \author Medusa Slockbower
|
|
///
|
|
/// \copyright Copyright © 2025 Medusa Slockbower ([GPLv3](https://www.gnu.org/licenses/gpl-3.0.en.html))
|
|
///
|
|
///
|
|
|
|
|
|
#ifndef FENNEC_MATH_H
|
|
#define FENNEC_MATH_H
|
|
|
|
///
|
|
///
|
|
///
|
|
/// \page fennec_math Math Library
|
|
///
|
|
/// The \ref fennec Math Library is composed of the modules listed in below.
|
|
/// The overarching goal of this math library is to implement the math types and functions of the
|
|
/// [OpenGL 4.6 Shading Language Specification](https://registry.khronos.org/OpenGL/specs/gl/GLSLangSpec.4.60.pdf).
|
|
///
|
|
/// \section fennec_math_topics Topics
|
|
/// - \subpage fennec_math_set_theory
|
|
///
|
|
/// \section fennec_math_data_types Data Types
|
|
///
|
|
/// - \subpage fennec_math_scalar
|
|
/// - \subpage fennec_math_vector
|
|
/// - \subpage fennec_math_matrix
|
|
///
|
|
/// \section fennec_math_functions Functions
|
|
///
|
|
/// - \subpage fennec_math_common
|
|
/// - \subpage fennec_math_exponential
|
|
/// - \subpage fennec_math_geometric
|
|
/// - \subpage fennec_math_relational
|
|
/// - \subpage fennec_math_trigonometric
|
|
///
|
|
///
|
|
///
|
|
|
|
|
|
|
|
///
|
|
///
|
|
///
|
|
/// \page fennec_math_set_theory Set Theory
|
|
///
|
|
/// Binary Mathematics, like most branches of Mathematics, is built, foundationally, upon Set Theory. Set Theory is
|
|
/// the branch of Mathematics that studies Sets. Sets contain a collection of elements which may be numbers, or other
|
|
/// mathematical values and structures.
|
|
///
|
|
/// Set definitions for all mathematical structures in the \ref fennec_math "Fennec Math Library" are present in
|
|
/// their respective pages.
|
|
///
|
|
///
|
|
|
|
#include <fennec/math/vector.h>
|
|
#include <fennec/math/vector_traits.h>
|
|
#include <fennec/math/swizzle.h>
|
|
|
|
#include <fennec/math/matrix.h>
|
|
|
|
#include <fennec/math/common.h>
|
|
#include <fennec/math/trigonometric.h>
|
|
|
|
|
|
#endif // FENNEC_MATH_H
|