Nebula
Loading...
Searching...
No Matches
vec4.h File Reference
#include "core/types.h"
#include "math/scalar.h"
#include "vec3.h"

Go to the source code of this file.

Classes

struct  Math::vec4
 A 4D vector. More...
 

Namespaces

namespace  Math
 Different curves.
 

Functions

__forceinline vec4 Math::operator- (const vec4 &lhs)
 
__forceinline vec4 Math::operator* (const vec4 &lhs, scalar t)
 
__forceinline vec4 Math::operator* (const vec4 &lhs, const vec4 &rhs)
 
__forceinline vec4 Math::operator+ (const vec4 &lhs, const vec4 &rhs)
 
__forceinline vec4 Math::operator- (const vec4 &lhs, const vec4 &rhs)
 
__forceinline scalar Math::length (const vec4 &v)
 
__forceinline scalar Math::length3 (const vec4 &v)
 
__forceinline scalar Math::lengthsq (const vec4 &v)
 
__forceinline scalar Math::lengthsq3 (const vec4 &v)
 
__forceinline vec4 Math::reciprocal (const vec4 &v)
 
__forceinline vec4 Math::reciprocalapprox (const vec4 &v)
 
__forceinline vec4 Math::multiply (const vec4 &v0, const vec4 &v1)
 
__forceinline vec4 Math::multiplyadd (const vec4 &v0, const vec4 &v1, const vec4 &v2)
 
__forceinline vec4 Math::divide (const vec4 &v0, const vec4 &v1)
 
__forceinline vec4 Math::abs (const vec4 &v)
 
__forceinline vec4 Math::cross3 (const vec4 &v0, const vec4 &v1)
 
__forceinline scalar Math::dot (const vec4 &v0, const vec4 &v1)
 
__forceinline scalar Math::dot3 (const vec4 &v0, const vec4 &v1)
 
__forceinline vec4 Math::barycentric (const vec4 &v0, const vec4 &v1, const vec4 &v2, scalar f, scalar g)
 calculates Result = v0 + f * (v1 - v0) + g * (v2 - v0)
 
__forceinline vec4 Math::catmullrom (const vec4 &v0, const vec4 &v1, const vec4 &v2, const vec4 &v3, scalar s)
 
__forceinline vec4 Math::hermite (const vec4 &v1, const vec4 &t1, const vec4 &v2, const vec4 &t2, scalar s)
 
__forceinline scalar Math::angle (const vec4 &v0, const vec4 &v1)
 
__forceinline vec4 Math::lerp (const vec4 &v0, const vec4 &v1, scalar s)
 
__forceinline vec4 Math::maximize (const vec4 &v0, const vec4 &v1)
 
__forceinline vec4 Math::minimize (const vec4 &v0, const vec4 &v1)
 
__forceinline vec4 Math::clamp (const vec4 &clamp, const vec4 &min, const vec4 &max)
 
__forceinline vec4 Math::normalize (const vec4 &v)
 
__forceinline vec4 Math::normalizeapprox (const vec4 &v)
 
__forceinline vec4 Math::normalize3 (const vec4 &v)
 
__forceinline vec4 Math::normalize3approx (const vec4 &v)
 
__forceinline vec4 Math::reflect (const vec4 &normal, const vec4 &incident)
 
__forceinline vec4 Math::perspective_div (const vec4 &v)
 
__forceinline bool Math::less_any (const vec4 &v0, const vec4 &v1)
 
__forceinline bool Math::less_all (const vec4 &v0, const vec4 &v1)
 
__forceinline bool Math::lessequal_any (const vec4 &v0, const vec4 &v1)
 
__forceinline bool Math::lessequal_all (const vec4 &v0, const vec4 &v1)
 
__forceinline bool Math::greater_any (const vec4 &v0, const vec4 &v1)
 
__forceinline bool Math::greater_all (const vec4 &v0, const vec4 &v1)
 
__forceinline bool Math::greaterequal_any (const vec4 &v0, const vec4 &v1)
 
__forceinline bool Math::greaterequal_all (const vec4 &v0, const vec4 &v1)
 
__forceinline bool Math::equal_any (const vec4 &v0, const vec4 &v1)
 
__forceinline bool Math::nearequal (const vec4 &v0, const vec4 &v1, const float epsilon)
 
__forceinline bool Math::nearequal (const vec4 &v0, const vec4 &v1, const vec4 &epsilon)
 
__forceinline vec4 Math::less (const vec4 &v0, const vec4 &v1)
 
__forceinline vec4 Math::greater (const vec4 &v0, const vec4 &v1)
 
__forceinline vec4 Math::equal (const vec4 &v0, const vec4 &v1)
 
__forceinline bool Math::less3_any (const vec4 &v0, const vec4 &v1)
 
__forceinline bool Math::less3_all (const vec4 &v0, const vec4 &v1)
 
__forceinline bool Math::lessequal3_any (const vec4 &v0, const vec4 &v1)
 
__forceinline bool Math::lessequal3_all (const vec4 &v0, const vec4 &v1)
 
__forceinline bool Math::greater3_any (const vec4 &v0, const vec4 &v1)
 
__forceinline bool Math::greater3_all (const vec4 &v0, const vec4 &v1)
 
__forceinline bool Math::greaterequal3_any (const vec4 &v0, const vec4 &v1)
 
__forceinline bool Math::greaterequal3_all (const vec4 &v0, const vec4 &v1)
 
__forceinline bool Math::equal3_any (const vec4 &v0, const vec4 &v1)
 
__forceinline bool Math::equal3_all (const vec4 &v0, const vec4 &v1)
 
__forceinline bool Math::nearequal3 (const vec4 &v0, const vec4 &v1, const vec4 &epsilon)
 
__forceinline vec4 Math::splat (const vec4 &v, uint element)
 
__forceinline vec4 Math::splat_x (const vec4 &v)
 
__forceinline vec4 Math::splat_y (const vec4 &v)
 
__forceinline vec4 Math::splat_z (const vec4 &v)
 
__forceinline vec4 Math::splat_w (const vec4 &v)
 
__forceinline vec4 Math::permute (const vec4 &v0, const vec4 &v1, unsigned int i0, unsigned int i1, unsigned int i2, unsigned int i3)
 
__forceinline vec4 Math::select (const vec4 &v0, const vec4 &v1, const uint i0, const uint i1, const uint i2, const uint i3)
 
__forceinline vec4 Math::select (const vec4 &v0, const vec4 &v1, const vec4 &control)
 
__forceinline vec4 Math::floor (const vec4 &v)
 
__forceinline vec4 Math::ceil (const vec4 &v)
 
__forceinline vec3 Math::xyz (const vec4 &v)
 

Variables

static const unsigned int Math::PERMUTE_0X = 0
 
static const unsigned int Math::PERMUTE_0Y = 1
 
static const unsigned int Math::PERMUTE_0Z = 2
 
static const unsigned int Math::PERMUTE_0W = 3
 
static const unsigned int Math::PERMUTE_1X = 4
 
static const unsigned int Math::PERMUTE_1Y = 5
 
static const unsigned int Math::PERMUTE_1Z = 6
 
static const unsigned int Math::PERMUTE_1W = 7