Nugget
Loading...
Searching...
No Matches
Namespaces | Macros | Functions
gte-math.hh File Reference
#include "psyqo/bezier.hh"
#include "psyqo/fixed-point.hh"
#include "psyqo/gte-kernels.hh"
#include "psyqo/gte-registers.hh"
#include "psyqo/matrix.hh"
#include "psyqo/vector.hh"
Include dependency graph for gte-math.hh:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

namespace  psyqo
 
namespace  psyqo::GteMath
 

Macros

#define PSYQO_GTE_MATH_INLINE   [[gnu::always_inline]] static inline
 

Functions

PSYQO_GTE_MATH_INLINE void psyqo::GteMath::matrixVecMul3 (const Matrix33 &m, const Vec3 &v, Vec3 *out)
 Multiplies a vector by a matrix.
 
PSYQO_GTE_MATH_INLINE void psyqo::GteMath::matrixVecMul3xy (const Matrix33 &m, const Vec3 &v, Vec2 *out)
 Multiplies a vector by a matrix, keeping only x and y.
 
PSYQO_GTE_MATH_INLINE FixedPoint psyqo::GteMath::matrixVecMul3z (const Matrix33 &m, const Vec3 &v)
 Multiplies a vector by a matrix, keeping only z.
 
PSYQO_GTE_MATH_INLINE Matrix33 psyqo::GteMath::fromColumns (const Vec3 &c0, const Vec3 &c1, const Vec3 &c2)
 Builds a matrix from three column vectors.
 
PSYQO_GTE_MATH_INLINE void psyqo::GteMath::multiplyMatrix33 (const Matrix33 &m1, const Matrix33 &m2, Matrix33 *out)
 Multiplies two matrices.
 
PSYQO_GTE_MATH_INLINE void psyqo::GteMath::crossProductVec3 (const Vec3 &v1, const Vec3 &v2, Vec3 *out)
 Cross product of two vectors.
 
PSYQO_GTE_MATH_INLINE FixedPoint psyqo::GteMath::inverseSquareRootSeed (FixedPoint<> x)
 The seed for an inverse square root, from the GTE's leading-bit count.
 
void psyqo::GteMath::normalizeVec3 (Vec3 *v)
 Normalises a vector in place.
 
PSYQO_GTE_MATH_INLINE void psyqo::GteMath::fastNormalizeVec3 (Vec3 *v)
 Normalises a vector in place, without the exact square root.
 
PSYQO_GTE_MATH_INLINE Vec3 psyqo::GteMath::cubic (const Vec3 &a, const Vec3 &b, const Vec3 &c, const Vec3 &d, FixedPoint<> t)
 Evaluates a cubic Bezier at t.
 
PSYQO_GTE_MATH_INLINE Vec3 psyqo::GteMath::cubicDerivative (const Vec3 &a, const Vec3 &b, const Vec3 &c, const Vec3 &d, FixedPoint<> t)
 Evaluates the derivative of a cubic Bezier at t.
 

Macro Definition Documentation

◆ PSYQO_GTE_MATH_INLINE

#define PSYQO_GTE_MATH_INLINE   [[gnu::always_inline]] static inline