OpenGL ES SDK for Android ARM Developer Center
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
vector_math.h File Reference
#include <string.h>
#include <math.h>
#include <stdint.h>

Go to the source code of this file.

Classes

struct  vec2
 
struct  uvec2
 
struct  vec3
 
struct  vec4
 
struct  mat4
 

Macros

#define PI   3.141592653f
 

Functions

template<typename T >
const T::data_type * value_ptr (const T &vec)
 
template<typename T >
T::vector_type operator- (const T &a)
 
template<typename T >
T::vector_type operator* (const T &a, const T &b)
 
template<typename T >
T::vector_type operator/ (const T &a, const T &b)
 
template<typename T >
T::vector_type operator+ (const T &a, const T &b)
 
template<typename T >
T::vector_type operator- (const T &a, const T &b)
 
template<typename T >
T::vector_type & operator*= (T &a, const T &b)
 
template<typename T >
T::vector_type & operator/= (T &a, const T &b)
 
template<typename T >
T::vector_type & operator+= (T &a, const T &b)
 
template<typename T >
T::vector_type & operator-= (T &a, const T &b)
 
mat4 operator* (const mat4 &a, const mat4 &b)
 
vec4 operator* (const mat4 &mat, const vec4 &vec)
 
mat4operator*= (mat4 &mat, float v)
 
vec3 vec_cross (const vec3 &a, const vec3 &b)
 
template<typename T >
float vec_dot (const T &a, const T &b)
 
template<typename T >
float vec_length (const T &vec)
 
template<typename T >
vec_normalize (const T &vec)
 
template<typename T >
vec_floor (const T &vec)
 
template<typename T >
vec_fract (const T &vec)
 
vec3 vec_project (const vec4 &vec)
 
template<typename T >
clamp (T value, T lo, T hi)
 
template<typename T >
vec_clamp (const T &vec, const T &lo, const T &hi)
 
mat4 mat_look_at (const vec3 &eye, const vec3 &center, const vec3 &up)
 
mat4 mat_rotate_x (float radians)
 
mat4 mat_rotate_y (float radians)
 
mat4 mat_rotate_z (float radians)
 
mat4 mat_perspective_fov (float fovy, float aspect, float zn, float zf)
 
mat4 mat_inverse (const mat4 &a)
 

Macro Definition Documentation

#define PI   3.141592653f

Definition at line 29 of file vector_math.h.

Function Documentation

template<typename T >
T clamp ( value,
lo,
hi 
)
inline

Definition at line 316 of file vector_math.h.

mat4 mat_inverse ( const mat4 a)
inline

Definition at line 392 of file vector_math.h.

mat4 mat_look_at ( const vec3 eye,
const vec3 center,
const vec3 up 
)
inline

Definition at line 335 of file vector_math.h.

mat4 mat_perspective_fov ( float  fovy,
float  aspect,
float  zn,
float  zf 
)
inline

Definition at line 381 of file vector_math.h.

mat4 mat_rotate_x ( float  radians)
inline

Definition at line 348 of file vector_math.h.

mat4 mat_rotate_y ( float  radians)
inline

Definition at line 359 of file vector_math.h.

mat4 mat_rotate_z ( float  radians)
inline

Definition at line 370 of file vector_math.h.

template<typename T >
T::vector_type operator* ( const T &  a,
const T &  b 
)
inline

Definition at line 167 of file vector_math.h.

mat4 operator* ( const mat4 a,
const mat4 b 
)
inline

Definition at line 234 of file vector_math.h.

vec4 operator* ( const mat4 mat,
const vec4 vec 
)
inline

Definition at line 251 of file vector_math.h.

template<typename T >
T::vector_type& operator*= ( T &  a,
const T &  b 
)
inline

Definition at line 203 of file vector_math.h.

mat4& operator*= ( mat4 mat,
float  v 
)
inline

Definition at line 259 of file vector_math.h.

template<typename T >
T::vector_type operator+ ( const T &  a,
const T &  b 
)
inline

Definition at line 185 of file vector_math.h.

template<typename T >
T::vector_type& operator+= ( T &  a,
const T &  b 
)
inline

Definition at line 219 of file vector_math.h.

template<typename T >
T::vector_type operator- ( const T &  a)
inline

Definition at line 158 of file vector_math.h.

template<typename T >
T::vector_type operator- ( const T &  a,
const T &  b 
)
inline

Definition at line 194 of file vector_math.h.

template<typename T >
T::vector_type& operator-= ( T &  a,
const T &  b 
)
inline

Definition at line 227 of file vector_math.h.

template<typename T >
T::vector_type operator/ ( const T &  a,
const T &  b 
)
inline

Definition at line 176 of file vector_math.h.

template<typename T >
T::vector_type& operator/= ( T &  a,
const T &  b 
)
inline

Definition at line 211 of file vector_math.h.

template<typename T >
const T::data_type* value_ptr ( const T &  vec)

Definition at line 35 of file vector_math.h.

template<typename T >
T vec_clamp ( const T &  vec,
const T &  lo,
const T &  hi 
)
inline

Definition at line 327 of file vector_math.h.

vec3 vec_cross ( const vec3 a,
const vec3 b 
)
inline

Definition at line 266 of file vector_math.h.

template<typename T >
float vec_dot ( const T &  a,
const T &  b 
)
inline

Definition at line 275 of file vector_math.h.

template<typename T >
T vec_floor ( const T &  vec)
inline

Definition at line 296 of file vector_math.h.

template<typename T >
T vec_fract ( const T &  vec)
inline

Definition at line 305 of file vector_math.h.

template<typename T >
float vec_length ( const T &  vec)
inline

Definition at line 284 of file vector_math.h.

template<typename T >
T vec_normalize ( const T &  vec)
inline

Definition at line 290 of file vector_math.h.

vec3 vec_project ( const vec4 vec)
inline

Definition at line 310 of file vector_math.h.