1
0
Fork 0
spectre/include/Spectre/Math/Math.h

46 lines
1 KiB
C++

#ifndef SPECTRE_MATH_MATH_H
#define SPECTRE_MATH_MATH_H
#include "Vector3.h"
#include "Vector2.h"
#include "Matrix4.h"
namespace sp { namespace math
{
float rand(float min, float max);
// Convert degrees to radians.
float deg2rad(float deg);
// ------------------------------
// Logarithmic functions.
// ------------------------------
double log(double base, double value);
double log2(double value);
unsigned int nextPowerOfTwo(unsigned int value);
// ------------------------------
// Matrix Projection functions.
// ------------------------------
// Create a orthographic projection matrix.
Matrix4f orthoProjection(float left, float right,
float bottom, float top,
float zNear = -1.0f, float zFar = 1.0f);
// Create a 2D rotation matrix. (rotation around Z-axis)
Matrix4f rotation(float theta);
// Create a 2D translation matrix.
Matrix4f translate(float x, float y);
// Create a 2D scale matrix.
Matrix4f scale(float x, float y);
} } // namespace sp
#endif /* SPECTRE_MATH_MATH_H */