![]() |
Divide Framework 0.1
A free and open-source 3D Framework under heavy development
|
Go to the source code of this file.
Namespaces | |
namespace | Divide |
Handle console commands that start with a forward slash. | |
namespace | Divide::AVX |
Macros | |
#define | DVD_CORE_MATH_MATH_VECTORS_INL_ |
Functions | |
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 > | |
FORCE_INLINE vec2< T > | Divide::Cross (const vec2< T > v1, const vec2< T > v2) noexcept |
general vec2 cross function | |
template<typename T > | |
FORCE_INLINE vec2< T > | Divide::Inverse (const vec2< T > v) noexcept |
template<typename T > | |
FORCE_INLINE vec2< T > | Divide::Normalize (vec2< T > vector) noexcept |
template<typename T > | |
FORCE_INLINE vec2< T > | Divide::Normalized (const vec2< T > vector) noexcept |
template<typename T > | |
FORCE_INLINE vec2< T > | Divide::operator* (T fl, const vec2< T > v) noexcept |
multiply a vector by a value | |
template<typename T > | |
FORCE_INLINE T | Divide::Dot (const vec2< T > a, const vec2< T > b) noexcept |
general vec2 dot product | |
template<typename T > | |
FORCE_INLINE void | Divide::OrthoNormalize (vec2< T > &n, vec2< T > &u) noexcept |
template<typename T > | |
FORCE_INLINE vec2< T > | Divide::Clamped (const vec2< T > v, const vec2< T > min, const vec2< T > max) noexcept |
template<typename T > | |
FORCE_INLINE vec3< T > | Divide::Normalize (vec3< T > &vector) noexcept |
template<typename T > | |
FORCE_INLINE vec3< T > | Divide::Normalized (const vec3< T > &vector) noexcept |
template<typename T > | |
FORCE_INLINE vec3< T > | Divide::operator* (T fl, const vec3< T > &v) noexcept |
multiply a vector by a value | |
template<typename T > | |
FORCE_INLINE T | Divide::Dot (const vec3< T > &a, const vec3< T > &b) noexcept |
general vec3 dot product | |
template<typename T > | |
FORCE_INLINE vec3< T > | Divide::Cross (const vec3< T > &v1, const vec3< T > &v2) noexcept |
general vec3 cross function | |
template<typename T > | |
FORCE_INLINE vec3< T > | Divide::AreOrthogonal (const vec3< T > &v1, const vec3< T > &v2) noexcept |
template<typename T > | |
FORCE_INLINE vec3< T > | Divide::Inverse (const vec3< T > &v) noexcept |
template<typename T > | |
FORCE_INLINE vec3< T > | Divide::Perpendicular (const vec3< T > &v) noexcept |
template<typename T > | |
FORCE_INLINE vec3< T > | Divide::ProjectToNorm (const vec3< T > &in, const vec3< T > &direction) |
template<typename T > | |
FORCE_INLINE void | Divide::OrthoNormalize (vec3< T > &n, vec3< T > &u) noexcept |
template<typename T > | |
FORCE_INLINE void | Divide::OrthoNormalize (vec3< T > &v1, vec3< T > &v2, vec3< T > &v3) noexcept |
template<typename T > | |
FORCE_INLINE vec3< T > | Divide::Clamped (const vec3< T > &v, const vec3< T > &min, const vec3< T > &max) noexcept |
template<typename T > | |
FORCE_INLINE vec4< T > | Divide::Abs (const vec4< T > &vector) noexcept |
template<typename T > | |
FORCE_INLINE vec4< T > | Divide::Min (const vec4< T > &v1, const vec4< T > &v2) noexcept |
min/max functions | |
template<typename T > | |
FORCE_INLINE vec4< T > | Divide::Max (const vec4< T > &v1, const vec4< T > &v2) noexcept |
template<typename T > | |
FORCE_INLINE vec4< T > | Divide::Normalize (vec4< T > &vector) noexcept |
template<typename T > | |
FORCE_INLINE vec4< T > | Divide::Normalized (const vec4< T > &vector) noexcept |
template<typename T > | |
FORCE_INLINE void | Divide::OrthoNormalize (vec4< T > &n, vec4< T > &u) |
template<typename T > | |
FORCE_INLINE void | Divide::OrthoNormalize (vec4< T > &v1, vec4< T > &v2, vec4< T > &v3) |
template<typename T > | |
FORCE_INLINE vec4< T > | Divide::Perpendicular (const vec4< T > &vec, const vec4< T > &hint1, const vec4< T > &hint2) noexcept |
template<typename T > | |
FORCE_INLINE vec4< T > | Divide::Clamped (const vec4< T > &v, const vec4< T > &min, const vec4< T > &max) noexcept |
template<typename T > | |
FORCE_INLINE vec4< T > | Divide::operator* (T fl, const vec4< T > &v) noexcept |
multiply a vector by a value | |
template<typename T , typename U > requires std::is_pod_v<U> | |
FORCE_INLINE vec2< T > | Divide::Lerp (const vec2< T > u, const vec2< T > v, U factor) noexcept |
linear interpolation between 2 vectors | |
template<typename T > | |
FORCE_INLINE vec2< T > | Divide::Lerp (const vec2< T > u, const vec2< T > v, const vec2< T > factor) noexcept |
linear interpolation between 2 vectors based on separate x and y factors | |
template<typename T , typename U > requires std::is_pod_v<U> | |
FORCE_INLINE 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 > | |
FORCE_INLINE 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 > | |
FORCE_INLINE vec3< T > | Divide::Abs (const vec3< T > &vector) noexcept |
template<typename T > | |
FORCE_INLINE vec3< T > | Divide::Min (const vec3< T > &v1, const vec3< T > &v2) noexcept |
template<typename T > | |
FORCE_INLINE vec3< T > | Divide::Max (const vec3< T > &v1, const vec3< T > &v2) noexcept |
template<typename T > | |
FORCE_INLINE T | Divide::Dot (const vec4< T > &a, const vec4< T > &b) noexcept |
general vec4 dot product | |
template<> | |
FORCE_INLINE F32 | Divide::Dot (const vec4< F32 > &a, const vec4< F32 > &b) noexcept |
template<typename T > | |
FORCE_INLINE vec4< T > | Divide::Lerp (const vec4< T > &u, const vec4< T > &v, T factor) noexcept |
lerp between the 2 vectors by the specified amount | |
template<typename T > | |
FORCE_INLINE 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 Type > | |
FORCE_INLINE vec2< Type > | Divide::Random (const vec2< Type > min, const vec2< Type > max) |
template<typename Type > | |
FORCE_INLINE vec3< Type > | Divide::Random (const vec3< Type > &min, const vec3< Type > &max) |
template<typename Type > | |
FORCE_INLINE vec4< Type > | Divide::Random (const vec4< Type > &min, const vec4< Type > &max) |
#define DVD_CORE_MATH_MATH_VECTORS_INL_ |
Definition at line 32 of file MathVectors.inl.