|
bool | Divide::AVX::Fneq128 (__m128 const &a, __m128 const &b) noexcept |
|
bool | Divide::AVX::Fneq128 (__m128 const &a, __m128 const &b, const F32 epsilon) noexcept |
|
__m128 | Divide::AVX::DotSimd (const __m128 &a, const __m128 &b) noexcept |
|
__m128 | Divide::AVX::SimpleDot (__m128 a, __m128 b) noexcept |
|
template<typename T , typename U >
requires std::is_pod_v<U> |
vec2< T > | Divide::Lerp (vec2< T > u, vec2< T > v, U factor) noexcept |
| lerp between the 2 specified vectors by the specified amount
|
|
template<typename T > |
vec2< T > | Divide::Lerp (vec2< T > u, vec2< T > v, vec2< T > factor) noexcept |
| lerp between the 2 specified vectors by the specified amount for each component
|
|
template<typename T > |
vec2< T > | Divide::Cross (vec2< T > v1, vec2< T > v2) noexcept |
| general vec2 cross function
|
|
template<typename T > |
vec2< T > | Divide::Inverse (vec2< T > v) noexcept |
|
template<typename T > |
vec2< T > | Divide::Normalize (vec2< T > &vector) noexcept |
|
template<typename T > |
vec2< T > | Divide::Normalized (vec2< T > vector) noexcept |
|
template<typename T > |
T | Divide::Dot (vec2< T > a, vec2< T > b) noexcept |
| general vec2 dot product
|
|
template<typename T > |
void | Divide::OrthoNormalize (vec2< T > &n, vec2< T > &u) noexcept |
|
template<typename T > |
vec2< T > | Divide::operator* (T fl, vec2< T > v) noexcept |
| multiply a vector by a value
|
|
template<typename T > |
vec2< T > | Divide::Clamped (vec2< T > v, vec2< T > min, vec2< T > max) noexcept |
|
template<typename T , typename U >
requires std::is_pod_v<U> |
vec3< T > | Divide::Lerp (const vec3< T > &u, const vec3< T > &v, U factor) noexcept |
| lerp between the 2 specified vectors by the specified amount
|
|
template<typename T > |
vec3< T > | Divide::Lerp (const vec3< T > &u, const vec3< T > &v, const vec3< T > &factor) noexcept |
| lerp between the 2 specified vectors by the specified amount for each component
|
|
template<typename T > |
vec3< T > | Divide::Abs (const vec3< T > &vector) noexcept |
|
template<typename T > |
vec3< T > | Divide::Min (const vec3< T > &v1, const vec3< T > &v2) noexcept |
|
template<typename T > |
vec3< T > | Divide::Max (const vec3< T > &v1, const vec3< T > &v2) noexcept |
|
template<typename T > |
vec3< T > | Divide::Normalize (vec3< T > &vector) noexcept |
|
template<typename T > |
vec3< T > | Divide::Normalized (const vec3< T > &vector) noexcept |
|
template<typename T > |
T | Divide::Dot (const vec3< T > &a, const vec3< T > &b) noexcept |
| general vec3 dot product
|
|
template<typename T > |
vec3< T > | Divide::Cross (const vec3< T > &v1, const vec3< T > &v2) noexcept |
| general vec3 cross function
|
|
template<typename T > |
vec3< T > | Divide::AreOrthogonal (const vec3< T > &v1, const vec3< T > &v2) noexcept |
|
template<typename T > |
vec3< T > | Divide::Inverse (const vec3< T > &v) noexcept |
|
template<typename T > |
vec3< T > | Divide::operator* (T fl, const vec3< T > &v) noexcept |
| multiply a vector by a value
|
|
template<typename T > |
vec3< T > | Divide::ProjectToNorm (const vec3< T > &in, const vec3< T > &direction) |
|
template<typename T > |
void | Divide::OrthoNormalize (vec3< T > &n, vec3< T > &u) noexcept |
|
template<typename T > |
void | Divide::OrthoNormalize (vec3< T > &v1, vec3< T > &v2, vec3< T > &v3) noexcept |
|
template<typename T > |
vec3< T > | Divide::Perpendicular (const vec3< T > &v) noexcept |
|
template<typename T > |
vec3< T > | Divide::Clamped (const vec3< T > &v, const vec3< T > &min, const vec3< T > &max) noexcept |
|
template<typename T > |
vec4< T > | Divide::Lerp (const vec4< T > &u, const vec4< T > &v, T factor) noexcept |
| lerp between the 2 specified vectors by the specified amount
|
|
template<typename T > |
vec4< T > | Divide::Lerp (const vec4< T > &u, const vec4< T > &v, const vec4< T > &factor) noexcept |
| lerp between the 2 specified vectors by the specified amount for each component
|
|
template<typename T > |
vec4< T > | Divide::Abs (const vec4< T > &vector) noexcept |
|
template<typename T > |
vec4< T > | Divide::Min (const vec4< T > &v1, const vec4< T > &v2) noexcept |
| min/max functions
|
|
template<typename T > |
vec4< T > | Divide::Max (const vec4< T > &v1, const vec4< T > &v2) noexcept |
|
template<typename T > |
vec4< T > | Divide::Normalize (vec4< T > &vector) noexcept |
|
template<typename T > |
vec4< T > | Divide::Normalized (const vec4< T > &vector) noexcept |
|
template<typename T > |
vec4< T > | Divide::operator* (T fl, const vec4< T > &v) noexcept |
| multiply a vector by a value
|
|
template<typename T > |
void | Divide::OrthoNormalize (vec4< T > &n, vec4< T > &u) |
|
template<typename T > |
void | Divide::OrthoNormalize (vec4< T > &v1, vec4< T > &v2, vec4< T > &v3) |
|
template<typename T > |
vec4< T > | Divide::Perpendicular (const vec4< T > &vec, const vec4< T > &hint1, const vec4< T > &hint2) noexcept |
|
template<typename T > |
vec4< T > | Divide::Clamped (const vec4< T > &v, const vec4< T > &min, const vec4< T > &max) noexcept |
|
|
static const vec2< F32 > | Divide::VECTOR2_ZERO { 0.0f } |
| Quaternion multiplications require these to be floats.
|
|
static const vec3< F32 > | Divide::VECTOR3_ZERO { 0.0f } |
|
static const vec4< F32 > | Divide::VECTOR4_ZERO { 0.0f } |
|
static const vec2< F32 > | Divide::VECTOR2_UNIT { 1.0f } |
|
static const vec3< F32 > | Divide::VECTOR3_UNIT { 1.0f } |
|
static const vec4< F32 > | Divide::VECTOR4_UNIT { 1.0f } |
|
static const vec3< F32 > | Divide::WORLD_X_AXIS { 1.0f, 0.0f, 0.0f } |
|
static const vec3< F32 > | Divide::WORLD_Y_AXIS { 0.0f, 1.0f, 0.0f } |
|
static const vec3< F32 > | Divide::WORLD_Z_AXIS { 0.0f, 0.0f, 1.0f } |
|
static const vec3< F32 > | Divide::WORLD_X_NEG_AXIS { -1.0f, 0.0f, 0.0f } |
|
static const vec3< F32 > | Divide::WORLD_Y_NEG_AXIS { 0.0f, -1.0f, 0.0f } |
|
static const vec3< F32 > | Divide::WORLD_Z_NEG_AXIS { 0.0f, 0.0f, -1.0f } |
|
static const vec3< F32 > | Divide::DEFAULT_GRAVITY { 0.0f, -9.81f, 0.0f } |
|
static const vec2< I32 > | Divide::iVECTOR2_ZERO { 0 } |
|
static const vec3< I32 > | Divide::iVECTOR3_ZERO { 0 } |
|
static const vec4< I32 > | Divide::iVECTOR4_ZERO { 0 } |
|
static const vec3< I32 > | Divide::iWORLD_X_AXIS { 1, 0, 0 } |
|
static const vec3< I32 > | Divide::iWORLD_Y_AXIS { 0, 1, 0 } |
|
static const vec3< I32 > | Divide::iWORLD_Z_AXIS { 0, 0, 1 } |
|
static const vec3< I32 > | Divide::iWORLD_X_NEG_AXIS { -1, 0, 0 } |
|
static const vec3< I32 > | Divide::iWORLD_Y_NEG_AXIS { 0, -1, 0 } |
|
static const vec3< I32 > | Divide::iWORLD_Z_NEG_AXIS { 0, 0, -1 } |
|
static const Rect< I32 > | Divide::UNIT_VIEWPORT { 0, 0, 1, 1 } |
|
static const Rect< I32 > | Divide::UNIT_RECT { -1, 1, -1, 1 } |
|