GLFX Namespace Reference


Classes

struct  IObject
 Base class for reference counted objects. More...
struct  VertexComponent
 Vertex component. More...
struct  VertexComponentGen
 Attribute descriptor generator. More...
struct  VertexComponentInvalidGen
 Attribute descriptor generator. More...
struct  VC_ATTRIBUTE_1F
 Attribute descriptor generator. More...
struct  VC_ATTRIBUTE_2F
 Attribute descriptor generator. More...
struct  VC_ATTRIBUTE_3F
 Attribute descriptor generator. More...
struct  VC_ATTRIBUTE_4F
 Attribute descriptor generator. More...
struct  VC_ATTRIBUTE_1UB
 Attribute descriptor generator. More...
struct  VC_ATTRIBUTE_2UB
 Attribute descriptor generator. More...
struct  VC_ATTRIBUTE_3UB
 Attribute descriptor generator. More...
struct  VC_ATTRIBUTE_4UB
 Attribute descriptor generator. More...
struct  VertexFormat
 Defines vertex format. More...
struct  ITechnique
 Public interface to a specified technique. More...
struct  IEffect
 Public interface to .glfx file. More...
struct  IFramebuffer
 Interface to framebuffer object, allows rendering to texture. More...
struct  IFont
 Interface to font manipulation and rendering. More...
struct  IVertexBuffer
 Vertex buffer interface. More...
struct  IIndexBuffer
 Index buffer interface. More...
struct  IMesh
 Interface to a mesh. More...
struct  ISceneBuilder
 Scene builder interface. More...
struct  ISceneLoader
 Inteface to a scene loader. More...
class  EffectManager
 This is the main class to access GLFX functionality. More...
struct  Vec2
 2-dimensional vector class. More...
struct  Vec3
 3-dimensional vector class. More...
struct  Vec4
 4-dimensional vector class. More...
struct  Quat
 Quaternion class. More...
struct  Matrix3
 3x3 matrix class. More...
struct  Matrix4
 4x4 matrix class. More...
struct  Color
 Simple RGBA color class. More...
class  EffectManager_FreeImage
 EffectManager extended with FreeImage library. More...
class  EffectManager_DevIL
 EffectManager extended with DevIL library. More...

Namespaces

namespace  Scene

Typedefs

typedef VertexComponentGen<
GL_VERTEX_ARRAY, 0, 2, GL_FLOAT > 
VC_VERTEX_2F
typedef VertexComponentGen<
GL_VERTEX_ARRAY, 0, 3, GL_FLOAT > 
VC_VERTEX_3F
typedef VertexComponentGen<
GL_VERTEX_ARRAY, 0, 4, GL_FLOAT > 
VC_VERTEX_4F
typedef VertexComponentGen<
GL_NORMAL_ARRAY, 0, 3, GL_FLOAT > 
VC_NORMAL_3F
typedef VertexComponentGen<
GL_COLOR_ARRAY, 0, 3, GL_FLOAT > 
VC_COLOR_3F
typedef VertexComponentGen<
GL_COLOR_ARRAY, 0, 4, GL_FLOAT > 
VC_COLOR_4F
typedef VertexComponentGen<
GL_COLOR_ARRAY, 0, 3, GL_UNSIGNED_BYTE > 
VC_COLOR_3UB
typedef VertexComponentGen<
GL_COLOR_ARRAY, 0, 4, GL_UNSIGNED_BYTE > 
VC_COLOR_4UB
typedef VertexComponentGen<
GL_SECONDARY_COLOR_ARRAY,
0, 3, GL_FLOAT > 
VC_SECONDARY_COLOR_3F
typedef VertexComponentGen<
GL_SECONDARY_COLOR_ARRAY,
0, 4, GL_FLOAT > 
VC_SECONDARY_COLOR_4F
typedef VertexComponentGen<
GL_SECONDARY_COLOR_ARRAY,
0, 3, GL_UNSIGNED_BYTE > 
VC_SECONDARY_COLOR_3UB
typedef VertexComponentGen<
GL_SECONDARY_COLOR_ARRAY,
0, 4, GL_UNSIGNED_BYTE > 
VC_SECONDARY_COLOR_4UB
typedef VertexComponentGen<
GL_TEXTURE_COORD_ARRAY,
0, 1, GL_FLOAT > 
VC_TEXTURE0_1F
typedef VertexComponentGen<
GL_TEXTURE_COORD_ARRAY,
0, 2, GL_FLOAT > 
VC_TEXTURE0_2F
typedef VertexComponentGen<
GL_TEXTURE_COORD_ARRAY,
0, 3, GL_FLOAT > 
VC_TEXTURE0_3F
typedef VertexComponentGen<
GL_TEXTURE_COORD_ARRAY,
0, 4, GL_FLOAT > 
VC_TEXTURE0_4F
typedef VertexComponentGen<
GL_TEXTURE_COORD_ARRAY,
1, 1, GL_FLOAT > 
VC_TEXTURE1_1F
typedef VertexComponentGen<
GL_TEXTURE_COORD_ARRAY,
1, 2, GL_FLOAT > 
VC_TEXTURE1_2F
typedef VertexComponentGen<
GL_TEXTURE_COORD_ARRAY,
1, 3, GL_FLOAT > 
VC_TEXTURE1_3F
typedef VertexComponentGen<
GL_TEXTURE_COORD_ARRAY,
1, 4, GL_FLOAT > 
VC_TEXTURE1_4F
typedef VertexComponentGen<
GL_TEXTURE_COORD_ARRAY,
2, 1, GL_FLOAT > 
VC_TEXTURE2_1F
typedef VertexComponentGen<
GL_TEXTURE_COORD_ARRAY,
2, 2, GL_FLOAT > 
VC_TEXTURE2_2F
typedef VertexComponentGen<
GL_TEXTURE_COORD_ARRAY,
2, 3, GL_FLOAT > 
VC_TEXTURE2_3F
typedef VertexComponentGen<
GL_TEXTURE_COORD_ARRAY,
2, 4, GL_FLOAT > 
VC_TEXTURE2_4F
typedef VertexComponentGen<
GL_TEXTURE_COORD_ARRAY,
3, 1, GL_FLOAT > 
VC_TEXTURE3_1F
typedef VertexComponentGen<
GL_TEXTURE_COORD_ARRAY,
3, 2, GL_FLOAT > 
VC_TEXTURE3_2F
typedef VertexComponentGen<
GL_TEXTURE_COORD_ARRAY,
3, 3, GL_FLOAT > 
VC_TEXTURE3_3F
typedef VertexComponentGen<
GL_TEXTURE_COORD_ARRAY,
3, 4, GL_FLOAT > 
VC_TEXTURE3_4F
typedef VertexComponentGen<
GL_TEXTURE_COORD_ARRAY,
4, 1, GL_FLOAT > 
VC_TEXTURE4_1F
typedef VertexComponentGen<
GL_TEXTURE_COORD_ARRAY,
4, 2, GL_FLOAT > 
VC_TEXTURE4_2F
typedef VertexComponentGen<
GL_TEXTURE_COORD_ARRAY,
4, 3, GL_FLOAT > 
VC_TEXTURE4_3F
typedef VertexComponentGen<
GL_TEXTURE_COORD_ARRAY,
4, 4, GL_FLOAT > 
VC_TEXTURE4_4F
typedef VertexComponentGen<
GL_TEXTURE_COORD_ARRAY,
5, 1, GL_FLOAT > 
VC_TEXTURE5_1F
typedef VertexComponentGen<
GL_TEXTURE_COORD_ARRAY,
5, 2, GL_FLOAT > 
VC_TEXTURE5_2F
typedef VertexComponentGen<
GL_TEXTURE_COORD_ARRAY,
5, 3, GL_FLOAT > 
VC_TEXTURE5_3F
typedef VertexComponentGen<
GL_TEXTURE_COORD_ARRAY,
5, 4, GL_FLOAT > 
VC_TEXTURE5_4F
typedef VertexComponentGen<
GL_TEXTURE_COORD_ARRAY,
6, 1, GL_FLOAT > 
VC_TEXTURE6_1F
typedef VertexComponentGen<
GL_TEXTURE_COORD_ARRAY,
6, 2, GL_FLOAT > 
VC_TEXTURE6_2F
typedef VertexComponentGen<
GL_TEXTURE_COORD_ARRAY,
6, 3, GL_FLOAT > 
VC_TEXTURE6_3F
typedef VertexComponentGen<
GL_TEXTURE_COORD_ARRAY,
6, 4, GL_FLOAT > 
VC_TEXTURE6_4F
typedef VertexComponentGen<
GL_TEXTURE_COORD_ARRAY,
7, 1, GL_FLOAT > 
VC_TEXTURE7_1F
typedef VertexComponentGen<
GL_TEXTURE_COORD_ARRAY,
7, 2, GL_FLOAT > 
VC_TEXTURE7_2F
typedef VertexComponentGen<
GL_TEXTURE_COORD_ARRAY,
7, 3, GL_FLOAT > 
VC_TEXTURE7_3F
typedef VertexComponentGen<
GL_TEXTURE_COORD_ARRAY,
7, 4, GL_FLOAT > 
VC_TEXTURE7_4F
typedef VertexComponentInvalidGen VC_END

Functions

float ToRadians (float degrees)
float ToDegrees (float radians)
bool PointInTriangle (const Vec3 &point, const Vec3 &a, const Vec3 &b, const Vec3 &c)
void LinesNearestPoints (Vec3 out1, Vec3 out2, const Vec3 &org1, const Vec3 &dir1, const Vec3 &org2, const Vec3 &dir2)
bool TriangleSameWinding (const Vec3 &a1, const Vec3 &a2, const Vec3 &a3, const Vec3 &b1, const Vec3 &b2, const Vec3 &b3)
bool TriangleWindingCheck (const Vec3 &a1, const Vec3 &a2, const Vec3 &a3, const Vec3 &normal)
float PointRayDist (const Vec3 &point, const Vec3 &org, const Vec3 &dir)
float PointSegmentDist (const Vec3 &point, const Vec3 &a, const Vec3 &b)
float RaySegmentDist (const Vec3 &org, const Vec3 &dir, const Vec3 &a, const Vec3 &b)
bool LineShapeIntersect (Vec3 &intersect, const Vec3 &beg, const Vec3 &end, const Vec4 &shapePlane, const Vec3 *shape, int shapeCount)
bool PointInPoly (const Vec3 &pnt, const Vec3 *shape, int length, const Vec3 &normal)
float PointShapeDist (const Vec3 &point, const Vec3 *shape, int length, const Vec4 &plane)
bool PointsAreCollinear (const Vec3 &a, const Vec3 &b, const Vec3 &c)
Vec2 operator * (const Vec2 &a, const Vec2 &b)
Vec2 operator/ (const Vec2 &a, const Vec2 &b)
Vec2 operator+ (const Vec2 &a, const Vec2 &b)
Vec2 operator+ (const Vec2 &v)
Vec2 operator- (const Vec2 &a, const Vec2 &b)
Vec2 operator- (const Vec2 &v)
bool operator== (const Vec2 &a, const Vec2 &b)
bool operator!= (const Vec2 &a, const Vec2 &b)
Vec2 Perpendicular (const Vec2 &v)
float Dot (const Vec2 &a, const Vec2 &b)
Vec2 Normalize (const Vec2 &v)
Vec2 Lerp (const Vec2 &a, const Vec2 &b, float f)
float Length (const Vec2 &a)
Vec3 operator * (const Vec3 &a, const Vec3 &b)
Vec3 operator/ (const Vec3 &a, const Vec3 &b)
Vec3 operator/ (float f, const Vec3 &v)
Vec3 operator+ (const Vec3 &a, const Vec3 &b)
Vec3 operator+ (const Vec3 &v)
Vec3 operator- (const Vec3 &a, const Vec3 &b)
Vec3 operator- (const Vec3 &v)
bool operator== (const Vec3 &a, const Vec3 &b)
bool operator!= (const Vec3 &a, const Vec3 &b)
bool operator< (const Vec3 &a, const Vec3 &b)
Vec3 Cross (const Vec3 &a, const Vec3 &b)
float Dot (const Vec3 &a, const Vec3 &b)
Vec3 Normalize (const Vec3 &v)
Vec3 Lerp (const Vec3 &a, const Vec3 &b, float f)
float Length (const Vec3 &a)
Vec3 RotateVectorX (const Vec3 &v, float angle)
Vec3 RotateVectorY (const Vec3 &v, float angle)
Vec3 RotateVectorZ (const Vec3 &v, float angle)
Vec4 operator * (const Vec4 &a, const Vec4 &b)
Vec4 operator/ (const Vec4 &a, const Vec4 &b)
Vec4 operator+ (const Vec4 &a, const Vec4 &b)
Vec4 operator+ (const Vec4 &v)
Vec4 operator- (const Vec4 &a, const Vec4 &b)
Vec4 operator- (const Vec4 &v)
bool operator== (const Vec4 &a, const Vec4 &b)
bool operator!= (const Vec4 &a, const Vec4 &b)
bool PlanesIntersect (Vec3 &out, const Vec4 &a, const Vec4 &b, const Vec4 &c)
Vec4 PlaneFromPoint (const Vec3 &point, const Vec3 &normal)
Vec4 PlaneFromPoints (const Vec3 &a, const Vec3 &b, const Vec3 &c)
Vec4 PlaneFromEdge (const Vec3 &begin, const Vec3 &end, const Vec3 &normal)
Vec4 Lerp (const Vec4 &a, const Vec4 &b, float f)
Quat operator * (const Quat &a, const Quat &b)
Quat operator * (float f, const Quat &q)
Quat operator * (const Quat &q, float f)
Quat operator+ (const Quat &a, const Quat &b)
Quat operator+ (const Quat &q)
Quat operator- (const Quat &a, const Quat &b)
Quat operator- (const Quat &q)
bool operator== (const Quat &a, const Quat &b)
bool operator!= (const Quat &a, const Quat &b)
Quat Normalize (const Quat &q)
float Dot (const Quat &a, const Quat &b)
Quat Slerp (const Quat &a, const Quat &b, float f, bool shortestPath)
Quat Inverse (const Quat &q)
Quat UnitInverse (const Quat &q)
Quat QuaternionFromAngleAxis (const Vec3 &axis, float angle)
Quat QuaternionRotationYawPitchRoll (float yaw, float pitch, float roll)
Quat QuaternionRotationYawPitchRoll (const Vec3 &angles)
Matrix3 operator * (const Matrix3 &a, const Matrix3 &b)
float Det (const Matrix3 &m)
Matrix3 MatrixTextureRotation (float angle)
Matrix3 MatrixTextureTranslation (float u, float v)
Matrix3 MatrixTextureTranslation (const Vec2 &v)
Matrix3 MatrixTextureScaling (float u, float v)
Matrix3 MatrixTextureScaling (const Vec2 &v)
Matrix4 operator * (const Matrix4 &a, const Matrix4 &b)
Matrix4 MatrixTranslation (float x, float y, float z)
Matrix4 MatrixTranslation (const Vec3 &v)
Matrix4 MatrixRotationX (float angle)
Matrix4 MatrixRotationY (float angle)
Matrix4 MatrixRotationZ (float angle)
Matrix4 MatrixRotationQuaternion (const Quat &quat)
Matrix4 MatrixRotationYawPitchRoll (float yaw, float pitch, float roll)
Matrix4 MatrixRotationYawPitchRoll (const Vec3 &angles)
Matrix4 MatrixScaling (float x, float y, float z)
Matrix4 MatrixScaling (const Vec3 &v)
Matrix4 MatrixPerspectiveFovXRH (float fovx, float aspect, float znear, float zfar)
Matrix4 MatrixPerspectiveFovYRH (float fovy, float aspect, float znear, float zfar)
Matrix4 MatrixOrthoRH (float w, float h, float zn, float zf)
Matrix4 MatrixOrthoLH (float w, float h, float zn, float zf)
Matrix4 MatrixLookAtRH (const Vec3 &eye, const Vec3 &at, const Vec3 &up)
float Det (const Matrix4 &m)
Matrix4 Inverse (const Matrix4 &m)
Matrix4 Transpose (const Matrix4 &m)
Color operator * (Color a, Color b)

Variables

const float PI = 3.14159265358979323846f
const float TWOPI = PI * 2
const float EPSILON = 1e-4f


Typedef Documentation

typedef VertexComponentGen<GL_COLOR_ARRAY, 0, 3, GL_FLOAT> GLFX::VC_COLOR_3F

Vertex component.

typedef VertexComponentGen<GL_COLOR_ARRAY, 0, 3, GL_UNSIGNED_BYTE> GLFX::VC_COLOR_3UB

Vertex component.

typedef VertexComponentGen<GL_COLOR_ARRAY, 0, 4, GL_FLOAT> GLFX::VC_COLOR_4F

Vertex component.

typedef VertexComponentGen<GL_COLOR_ARRAY, 0, 4, GL_UNSIGNED_BYTE> GLFX::VC_COLOR_4UB

Vertex component.

typedef VertexComponentInvalidGen GLFX::VC_END

Vertex component.

typedef VertexComponentGen<GL_NORMAL_ARRAY, 0, 3, GL_FLOAT> GLFX::VC_NORMAL_3F

Vertex component.

typedef VertexComponentGen<GL_SECONDARY_COLOR_ARRAY, 0, 3, GL_FLOAT> GLFX::VC_SECONDARY_COLOR_3F

Vertex component.

typedef VertexComponentGen<GL_SECONDARY_COLOR_ARRAY, 0, 3, GL_UNSIGNED_BYTE> GLFX::VC_SECONDARY_COLOR_3UB

Vertex component.

typedef VertexComponentGen<GL_SECONDARY_COLOR_ARRAY, 0, 4, GL_FLOAT> GLFX::VC_SECONDARY_COLOR_4F

Vertex component.

typedef VertexComponentGen<GL_SECONDARY_COLOR_ARRAY, 0, 4, GL_UNSIGNED_BYTE> GLFX::VC_SECONDARY_COLOR_4UB

Vertex component.

typedef VertexComponentGen<GL_TEXTURE_COORD_ARRAY, 0, 1, GL_FLOAT> GLFX::VC_TEXTURE0_1F

Vertex component.

typedef VertexComponentGen<GL_TEXTURE_COORD_ARRAY, 0, 2, GL_FLOAT> GLFX::VC_TEXTURE0_2F

Vertex component.

typedef VertexComponentGen<GL_TEXTURE_COORD_ARRAY, 0, 3, GL_FLOAT> GLFX::VC_TEXTURE0_3F

Vertex component.

typedef VertexComponentGen<GL_TEXTURE_COORD_ARRAY, 0, 4, GL_FLOAT> GLFX::VC_TEXTURE0_4F

Vertex component.

typedef VertexComponentGen<GL_TEXTURE_COORD_ARRAY, 1, 1, GL_FLOAT> GLFX::VC_TEXTURE1_1F

Vertex component.

typedef VertexComponentGen<GL_TEXTURE_COORD_ARRAY, 1, 2, GL_FLOAT> GLFX::VC_TEXTURE1_2F

Vertex component.

typedef VertexComponentGen<GL_TEXTURE_COORD_ARRAY, 1, 3, GL_FLOAT> GLFX::VC_TEXTURE1_3F

Vertex component.

typedef VertexComponentGen<GL_TEXTURE_COORD_ARRAY, 1, 4, GL_FLOAT> GLFX::VC_TEXTURE1_4F

Vertex component.

typedef VertexComponentGen<GL_TEXTURE_COORD_ARRAY, 2, 1, GL_FLOAT> GLFX::VC_TEXTURE2_1F

Vertex component.

typedef VertexComponentGen<GL_TEXTURE_COORD_ARRAY, 2, 2, GL_FLOAT> GLFX::VC_TEXTURE2_2F

Vertex component.

typedef VertexComponentGen<GL_TEXTURE_COORD_ARRAY, 2, 3, GL_FLOAT> GLFX::VC_TEXTURE2_3F

Vertex component.

typedef VertexComponentGen<GL_TEXTURE_COORD_ARRAY, 2, 4, GL_FLOAT> GLFX::VC_TEXTURE2_4F

Vertex component.

typedef VertexComponentGen<GL_TEXTURE_COORD_ARRAY, 3, 1, GL_FLOAT> GLFX::VC_TEXTURE3_1F

Vertex component.

typedef VertexComponentGen<GL_TEXTURE_COORD_ARRAY, 3, 2, GL_FLOAT> GLFX::VC_TEXTURE3_2F

Vertex component.

typedef VertexComponentGen<GL_TEXTURE_COORD_ARRAY, 3, 3, GL_FLOAT> GLFX::VC_TEXTURE3_3F

Vertex component.

typedef VertexComponentGen<GL_TEXTURE_COORD_ARRAY, 3, 4, GL_FLOAT> GLFX::VC_TEXTURE3_4F

Vertex component.

typedef VertexComponentGen<GL_TEXTURE_COORD_ARRAY, 4, 1, GL_FLOAT> GLFX::VC_TEXTURE4_1F

Vertex component.

typedef VertexComponentGen<GL_TEXTURE_COORD_ARRAY, 4, 2, GL_FLOAT> GLFX::VC_TEXTURE4_2F

Vertex component.

typedef VertexComponentGen<GL_TEXTURE_COORD_ARRAY, 4, 3, GL_FLOAT> GLFX::VC_TEXTURE4_3F

Vertex component.

typedef VertexComponentGen<GL_TEXTURE_COORD_ARRAY, 4, 4, GL_FLOAT> GLFX::VC_TEXTURE4_4F

Vertex component.

typedef VertexComponentGen<GL_TEXTURE_COORD_ARRAY, 5, 1, GL_FLOAT> GLFX::VC_TEXTURE5_1F

Vertex component.

typedef VertexComponentGen<GL_TEXTURE_COORD_ARRAY, 5, 2, GL_FLOAT> GLFX::VC_TEXTURE5_2F

Vertex component.

typedef VertexComponentGen<GL_TEXTURE_COORD_ARRAY, 5, 3, GL_FLOAT> GLFX::VC_TEXTURE5_3F

Vertex component.

typedef VertexComponentGen<GL_TEXTURE_COORD_ARRAY, 5, 4, GL_FLOAT> GLFX::VC_TEXTURE5_4F

Vertex component.

typedef VertexComponentGen<GL_TEXTURE_COORD_ARRAY, 6, 1, GL_FLOAT> GLFX::VC_TEXTURE6_1F

Vertex component.

typedef VertexComponentGen<GL_TEXTURE_COORD_ARRAY, 6, 2, GL_FLOAT> GLFX::VC_TEXTURE6_2F

Vertex component.

typedef VertexComponentGen<GL_TEXTURE_COORD_ARRAY, 6, 3, GL_FLOAT> GLFX::VC_TEXTURE6_3F

Vertex component.

typedef VertexComponentGen<GL_TEXTURE_COORD_ARRAY, 6, 4, GL_FLOAT> GLFX::VC_TEXTURE6_4F

Vertex component.

typedef VertexComponentGen<GL_TEXTURE_COORD_ARRAY, 7, 1, GL_FLOAT> GLFX::VC_TEXTURE7_1F

Vertex component.

typedef VertexComponentGen<GL_TEXTURE_COORD_ARRAY, 7, 2, GL_FLOAT> GLFX::VC_TEXTURE7_2F

Vertex component.

typedef VertexComponentGen<GL_TEXTURE_COORD_ARRAY, 7, 3, GL_FLOAT> GLFX::VC_TEXTURE7_3F

Vertex component.

typedef VertexComponentGen<GL_TEXTURE_COORD_ARRAY, 7, 4, GL_FLOAT> GLFX::VC_TEXTURE7_4F

Vertex component.

typedef VertexComponentGen<GL_VERTEX_ARRAY, 0, 2, GL_FLOAT> GLFX::VC_VERTEX_2F

Vertex component.

typedef VertexComponentGen<GL_VERTEX_ARRAY, 0, 3, GL_FLOAT> GLFX::VC_VERTEX_3F

Vertex component.

typedef VertexComponentGen<GL_VERTEX_ARRAY, 0, 4, GL_FLOAT> GLFX::VC_VERTEX_4F

Vertex component.


Function Documentation

Vec3 GLFX::Cross ( const Vec3 &  a,
const Vec3 &  b 
) [inline]

Compute vector cross product.

float GLFX::Det ( const Matrix4 &  m  )  [inline]

Compute matrix determinant.

float GLFX::Det ( const Matrix3 &  m  )  [inline]

Compute matrix determinant.

float GLFX::Dot ( const Quat &  a,
const Quat &  b 
) [inline]

Quaternion dot product.

float GLFX::Dot ( const Vec3 &  a,
const Vec3 &  b 
) [inline]

Compute vector dot product.

float GLFX::Dot ( const Vec2 &  a,
const Vec2 &  b 
) [inline]

Vector dot product.

Matrix4 GLFX::Inverse ( const Matrix4 &  m  )  [inline]

Inverse matrix.

Quat GLFX::Inverse ( const Quat &  q  )  [inline]

Inverse quaternion.

float GLFX::Length ( const Vec3 &  a  )  [inline]

Compute vector length.

float GLFX::Length ( const Vec2 &  a  )  [inline]

Compute vector length.

Vec4 GLFX::Lerp ( const Vec4 &  a,
const Vec4 &  b,
float  f 
) [inline]

Linear interpolation between to vectors.

Vec3 GLFX::Lerp ( const Vec3 &  a,
const Vec3 &  b,
float  f 
) [inline]

Linear interpolation of two vectors.

Vec2 GLFX::Lerp ( const Vec2 &  a,
const Vec2 &  b,
float  f 
) [inline]

Interpolate vectors.

bool GLFX::LineShapeIntersect ( Vec3 &  intersect,
const Vec3 &  beg,
const Vec3 &  end,
const Vec4 &  shapePlane,
const Vec3 *  shape,
int  shapeCount 
) [inline]

Compute intersection between line and convex shape.

void GLFX::LinesNearestPoints ( Vec3  out1,
Vec3  out2,
const Vec3 &  org1,
const Vec3 &  dir1,
const Vec3 &  org2,
const Vec3 &  dir2 
) [inline]

Find two points on two lines with minimum distance.

Matrix4 GLFX::MatrixLookAtRH ( const Vec3 &  eye,
const Vec3 &  at,
const Vec3 &  up 
) [inline]

Construct look-at matrix.

Matrix4 GLFX::MatrixOrthoLH ( float  w,
float  h,
float  zn,
float  zf 
) [inline]

Construct orthogonal matrix (left-handed).

Matrix4 GLFX::MatrixOrthoRH ( float  w,
float  h,
float  zn,
float  zf 
) [inline]

Construct orthogonal matrix (right-handed).

Matrix4 GLFX::MatrixPerspectiveFovXRH ( float  fovx,
float  aspect,
float  znear,
float  zfar 
) [inline]

Construct perspective matrix (right-handed).

Matrix4 GLFX::MatrixPerspectiveFovYRH ( float  fovy,
float  aspect,
float  znear,
float  zfar 
) [inline]

Construct perspective matrix (right-handed).

Matrix4 GLFX::MatrixRotationQuaternion ( const Quat &  quat  )  [inline]

Construct rotation matrix from quaternion.

Matrix4 GLFX::MatrixRotationX ( float  angle  )  [inline]

Construct rotation matrix from angle (around X-axis).

Matrix4 GLFX::MatrixRotationY ( float  angle  )  [inline]

Construct rotation matrix from angle (around Y-axis).

Matrix4 GLFX::MatrixRotationYawPitchRoll ( const Vec3 &  angles  )  [inline]

Construct rotation matrix (yaw-pitch-roll).

The order of multiplication is: roll (y), pitch (x), yaw (z).

Matrix4 GLFX::MatrixRotationYawPitchRoll ( float  yaw,
float  pitch,
float  roll 
) [inline]

Construct rotation matrix (yaw-pitch-roll).

The order of multiplication is: roll (y), pitch (x), yaw (z).

Matrix4 GLFX::MatrixRotationZ ( float  angle  )  [inline]

Construct rotation matrix from angle (around Z-axis).

Matrix4 GLFX::MatrixScaling ( const Vec3 &  v  )  [inline]

Construct scaling matrix.

Matrix4 GLFX::MatrixScaling ( float  x,
float  y,
float  z 
) [inline]

Construct scaling matrix.

Matrix3 GLFX::MatrixTextureRotation ( float  angle  )  [inline]

Construct texture rotation matrix from angle.

Matrix3 GLFX::MatrixTextureScaling ( const Vec2 &  v  )  [inline]

Construct texture scaling matrix.

Matrix3 GLFX::MatrixTextureScaling ( float  u,
float  v 
) [inline]

Construct texture scaling matrix.

Matrix3 GLFX::MatrixTextureTranslation ( const Vec2 &  v  )  [inline]

Construct texture translation matrix.

Matrix3 GLFX::MatrixTextureTranslation ( float  u,
float  v 
) [inline]

Construct texture translation matrix.

Matrix4 GLFX::MatrixTranslation ( const Vec3 &  v  )  [inline]

Construct translation matrix.

Matrix4 GLFX::MatrixTranslation ( float  x,
float  y,
float  z 
) [inline]

Construct translation matrix.

Quat GLFX::Normalize ( const Quat &  q  )  [inline]

Normalize quaternion.

Vec3 GLFX::Normalize ( const Vec3 &  v  )  [inline]

Normalize vectors.

Vec2 GLFX::Normalize ( const Vec2 &  v  )  [inline]

Normalize vector.

Color GLFX::operator * ( Color  a,
Color  b 
) [inline]

Multilply two colors.

Matrix4 GLFX::operator * ( const Matrix4 &  a,
const Matrix4 &  b 
) [inline]

Matrix multiplication.

Matrix3 GLFX::operator * ( const Matrix3 &  a,
const Matrix3 &  b 
) [inline]

Multiply matrices.

Quat GLFX::operator * ( const Quat &  q,
float  f 
) [inline]

Quaternion multiplication by scalar.

Quat GLFX::operator * ( float  f,
const Quat &  q 
) [inline]

Quaternion multiplication by scalar.

Quat GLFX::operator * ( const Quat &  a,
const Quat &  b 
) [inline]

Quaternion multiplication.

Vec4 GLFX::operator * ( const Vec4 &  a,
const Vec4 &  b 
) [inline]

Multiply vector elements.

Vec3 GLFX::operator * ( const Vec3 &  a,
const Vec3 &  b 
) [inline]

Multiply vector elements.

Vec2 GLFX::operator * ( const Vec2 &  a,
const Vec2 &  b 
) [inline]

Multiply vector elements.

bool GLFX::operator!= ( const Quat &  a,
const Quat &  b 
) [inline]

Check if quaternions are not equal.

bool GLFX::operator!= ( const Vec4 &  a,
const Vec4 &  b 
) [inline]

Test if vectors are not equal.

bool GLFX::operator!= ( const Vec3 &  a,
const Vec3 &  b 
) [inline]

Test if vectors are not equal.

bool GLFX::operator!= ( const Vec2 &  a,
const Vec2 &  b 
) [inline]

Test if vectors are not equal.

Quat GLFX::operator+ ( const Quat &  q  )  [inline]

Positive quaternion.

Quat GLFX::operator+ ( const Quat &  a,
const Quat &  b 
) [inline]

Quaternion addition.

Vec4 GLFX::operator+ ( const Vec4 &  v  )  [inline]

Positive vector.

Vec4 GLFX::operator+ ( const Vec4 &  a,
const Vec4 &  b 
) [inline]

Add vectors.

Vec3 GLFX::operator+ ( const Vec3 &  v  )  [inline]

Positive vector.

Vec3 GLFX::operator+ ( const Vec3 &  a,
const Vec3 &  b 
) [inline]

Add vectors.

Vec2 GLFX::operator+ ( const Vec2 &  v  )  [inline]

Positive vector.

Vec2 GLFX::operator+ ( const Vec2 &  a,
const Vec2 &  b 
) [inline]

Add vectors.

Quat GLFX::operator- ( const Quat &  q  )  [inline]

Quaternion negation.

Quat GLFX::operator- ( const Quat &  a,
const Quat &  b 
) [inline]

Quaternion substraction.

Vec4 GLFX::operator- ( const Vec4 &  v  )  [inline]

Negate vector.

Vec4 GLFX::operator- ( const Vec4 &  a,
const Vec4 &  b 
) [inline]

Substract vectors.

Vec3 GLFX::operator- ( const Vec3 &  v  )  [inline]

Negate vector.

Vec3 GLFX::operator- ( const Vec3 &  a,
const Vec3 &  b 
) [inline]

Substract vectors.

Vec2 GLFX::operator- ( const Vec2 &  v  )  [inline]

Negate vector.

Vec2 GLFX::operator- ( const Vec2 &  a,
const Vec2 &  b 
) [inline]

Substract vectors.

Vec4 GLFX::operator/ ( const Vec4 &  a,
const Vec4 &  b 
) [inline]

Divide vector elements.

Vec3 GLFX::operator/ ( float  f,
const Vec3 &  v 
) [inline]

Divide float by vector elements.

Vec3 GLFX::operator/ ( const Vec3 &  a,
const Vec3 &  b 
) [inline]

Divide vector elements.

Vec2 GLFX::operator/ ( const Vec2 &  a,
const Vec2 &  b 
) [inline]

Divide vector elements.

bool GLFX::operator< ( const Vec3 &  a,
const Vec3 &  b 
) [inline]

Test if any of vector a element is less than any of vector b element.

bool GLFX::operator== ( const Quat &  a,
const Quat &  b 
) [inline]

Check if quaternions are equal.

bool GLFX::operator== ( const Vec4 &  a,
const Vec4 &  b 
) [inline]

Test if vectors are equal.

bool GLFX::operator== ( const Vec3 &  a,
const Vec3 &  b 
) [inline]

Test if vectors are equal.

bool GLFX::operator== ( const Vec2 &  a,
const Vec2 &  b 
) [inline]

Test if vectors are equal.

Vec2 GLFX::Perpendicular ( const Vec2 &  v  )  [inline]

Construct perpendicular vector.

Vec4 GLFX::PlaneFromEdge ( const Vec3 &  begin,
const Vec3 &  end,
const Vec3 &  normal 
) [inline]

Construct plane from line and normal.

Vec4 GLFX::PlaneFromPoint ( const Vec3 &  point,
const Vec3 &  normal 
) [inline]

Construct plane from point and normal.

Vec4 GLFX::PlaneFromPoints ( const Vec3 &  a,
const Vec3 &  b,
const Vec3 &  c 
) [inline]

Construct plane from three points.

bool GLFX::PlanesIntersect ( Vec3 &  out,
const Vec4 &  a,
const Vec4 &  b,
const Vec4 &  c 
) [inline]

Find intersection of three planes (if exists).

bool GLFX::PointInPoly ( const Vec3 &  pnt,
const Vec3 *  shape,
int  length,
const Vec3 &  normal 
) [inline]

Test if point is inside convex polygon.

bool GLFX::PointInTriangle ( const Vec3 &  point,
const Vec3 &  a,
const Vec3 &  b,
const Vec3 &  c 
) [inline]

Test if point is iside a triangle (with epsilon).

float GLFX::PointRayDist ( const Vec3 &  point,
const Vec3 &  org,
const Vec3 &  dir 
) [inline]

Compute distance betweeen point and ray.

bool GLFX::PointsAreCollinear ( const Vec3 &  a,
const Vec3 &  b,
const Vec3 &  c 
) [inline]

Tests if three points are collinear.

float GLFX::PointSegmentDist ( const Vec3 &  point,
const Vec3 &  a,
const Vec3 &  b 
) [inline]

Compute distance between point and segment.

float GLFX::PointShapeDist ( const Vec3 &  point,
const Vec3 *  shape,
int  length,
const Vec4 &  plane 
) [inline]

Compute distance between point and convex shape.

Quat GLFX::QuaternionFromAngleAxis ( const Vec3 &  axis,
float  angle 
) [inline]

Construct quaternion from axis and angle.

Quat GLFX::QuaternionRotationYawPitchRoll ( const Vec3 &  angles  )  [inline]

Construct quaternion from yaw, pitch and roll.

Quat GLFX::QuaternionRotationYawPitchRoll ( float  yaw,
float  pitch,
float  roll 
) [inline]

Construct quaternion from yaw, pitch and roll.

float GLFX::RaySegmentDist ( const Vec3 &  org,
const Vec3 &  dir,
const Vec3 &  a,
const Vec3 &  b 
) [inline]

Compute distance between ray and segment.

Vec3 GLFX::RotateVectorX ( const Vec3 &  v,
float  angle 
) [inline]

Rotate vector around X-axis.

Vec3 GLFX::RotateVectorY ( const Vec3 &  v,
float  angle 
) [inline]

Rotate vector around Y-axis.

Vec3 GLFX::RotateVectorZ ( const Vec3 &  v,
float  angle 
) [inline]

Rotate vector around Z-axis.

Quat GLFX::Slerp ( const Quat &  a,
const Quat &  b,
float  f,
bool  shortestPath 
) [inline]

Interpolate quaternion.

float GLFX::ToDegrees ( float  radians  )  [inline]

Convert radians to degrees.

float GLFX::ToRadians ( float  degrees  )  [inline]

Convert degrees to radians.

Matrix4 GLFX::Transpose ( const Matrix4 &  m  )  [inline]

Transpose matrix.

bool GLFX::TriangleSameWinding ( const Vec3 &  a1,
const Vec3 &  a2,
const Vec3 &  a3,
const Vec3 &  b1,
const Vec3 &  b2,
const Vec3 &  b3 
) [inline]

Check if triangle have same directions.

bool GLFX::TriangleWindingCheck ( const Vec3 &  a1,
const Vec3 &  a2,
const Vec3 &  a3,
const Vec3 &  normal 
) [inline]

Check if triangle has the same direction as normal.

Quat GLFX::UnitInverse ( const Quat &  q  )  [inline]

Inverse unit quaternion.


Variable Documentation

const float GLFX::EPSILON = 1e-4f

A very small number.

const float GLFX::PI = 3.14159265358979323846f

PI.

const float GLFX::TWOPI = PI * 2

PI times two.


SourceForge.net Logo