olcPixelGameEngine v2.28
The official distribution of olcPixelGameEngine, a tool used in javidx9's YouTube videos and projects
Loading...
Searching...
No Matches
olc::GFX3D::Math Class Reference

#include <olcPGEX_Graphics3D.h>

Public Member Functions

 Math ()
 

Static Public Member Functions

static vec3d Mat_MultiplyVector (mat4x4 &m, vec3d &i)
 
static mat4x4 Mat_MultiplyMatrix (mat4x4 &m1, mat4x4 &m2)
 
static mat4x4 Mat_MakeIdentity ()
 
static mat4x4 Mat_MakeRotationX (float fAngleRad)
 
static mat4x4 Mat_MakeRotationY (float fAngleRad)
 
static mat4x4 Mat_MakeRotationZ (float fAngleRad)
 
static mat4x4 Mat_MakeScale (float x, float y, float z)
 
static mat4x4 Mat_MakeTranslation (float x, float y, float z)
 
static mat4x4 Mat_MakeProjection (float fFovDegrees, float fAspectRatio, float fNear, float fFar)
 
static mat4x4 Mat_PointAt (vec3d &pos, vec3d &target, vec3d &up)
 
static mat4x4 Mat_QuickInverse (mat4x4 &m)
 
static mat4x4 Mat_Inverse (olc::GFX3D::mat4x4 &m)
 
static vec3d Vec_Add (vec3d &v1, vec3d &v2)
 
static vec3d Vec_Sub (vec3d &v1, vec3d &v2)
 
static vec3d Vec_Mul (vec3d &v1, float k)
 
static vec3d Vec_Div (vec3d &v1, float k)
 
static float Vec_DotProduct (vec3d &v1, vec3d &v2)
 
static float Vec_Length (vec3d &v)
 
static vec3d Vec_Normalise (vec3d &v)
 
static vec3d Vec_CrossProduct (vec3d &v1, vec3d &v2)
 
static vec3d Vec_IntersectPlane (vec3d &plane_p, vec3d &plane_n, vec3d &lineStart, vec3d &lineEnd, float &t)
 
static int Triangle_ClipAgainstPlane (vec3d plane_p, vec3d plane_n, triangle &in_tri, triangle &out_tri1, triangle &out_tri2)
 

Constructor & Destructor Documentation

◆ Math()

olc::GFX3D::Math::Math ( )

Member Function Documentation

◆ Mat_Inverse()

static mat4x4 olc::GFX3D::Math::Mat_Inverse ( olc::GFX3D::mat4x4 & m)
static

◆ Mat_MakeIdentity()

static mat4x4 olc::GFX3D::Math::Mat_MakeIdentity ( )
static

◆ Mat_MakeProjection()

static mat4x4 olc::GFX3D::Math::Mat_MakeProjection ( float fFovDegrees,
float fAspectRatio,
float fNear,
float fFar )
static

◆ Mat_MakeRotationX()

static mat4x4 olc::GFX3D::Math::Mat_MakeRotationX ( float fAngleRad)
static

◆ Mat_MakeRotationY()

static mat4x4 olc::GFX3D::Math::Mat_MakeRotationY ( float fAngleRad)
static

◆ Mat_MakeRotationZ()

static mat4x4 olc::GFX3D::Math::Mat_MakeRotationZ ( float fAngleRad)
static

◆ Mat_MakeScale()

static mat4x4 olc::GFX3D::Math::Mat_MakeScale ( float x,
float y,
float z )
static

◆ Mat_MakeTranslation()

static mat4x4 olc::GFX3D::Math::Mat_MakeTranslation ( float x,
float y,
float z )
static

◆ Mat_MultiplyMatrix()

static mat4x4 olc::GFX3D::Math::Mat_MultiplyMatrix ( mat4x4 & m1,
mat4x4 & m2 )
static

◆ Mat_MultiplyVector()

static vec3d olc::GFX3D::Math::Mat_MultiplyVector ( mat4x4 & m,
vec3d & i )
static

◆ Mat_PointAt()

static mat4x4 olc::GFX3D::Math::Mat_PointAt ( vec3d & pos,
vec3d & target,
vec3d & up )
static

◆ Mat_QuickInverse()

static mat4x4 olc::GFX3D::Math::Mat_QuickInverse ( mat4x4 & m)
static

◆ Triangle_ClipAgainstPlane()

static int olc::GFX3D::Math::Triangle_ClipAgainstPlane ( vec3d plane_p,
vec3d plane_n,
triangle & in_tri,
triangle & out_tri1,
triangle & out_tri2 )
static

◆ Vec_Add()

static vec3d olc::GFX3D::Math::Vec_Add ( vec3d & v1,
vec3d & v2 )
static

◆ Vec_CrossProduct()

static vec3d olc::GFX3D::Math::Vec_CrossProduct ( vec3d & v1,
vec3d & v2 )
static

◆ Vec_Div()

static vec3d olc::GFX3D::Math::Vec_Div ( vec3d & v1,
float k )
static

◆ Vec_DotProduct()

static float olc::GFX3D::Math::Vec_DotProduct ( vec3d & v1,
vec3d & v2 )
static

◆ Vec_IntersectPlane()

static vec3d olc::GFX3D::Math::Vec_IntersectPlane ( vec3d & plane_p,
vec3d & plane_n,
vec3d & lineStart,
vec3d & lineEnd,
float & t )
static

◆ Vec_Length()

static float olc::GFX3D::Math::Vec_Length ( vec3d & v)
static

◆ Vec_Mul()

static vec3d olc::GFX3D::Math::Vec_Mul ( vec3d & v1,
float k )
static

◆ Vec_Normalise()

static vec3d olc::GFX3D::Math::Vec_Normalise ( vec3d & v)
static

◆ Vec_Sub()

static vec3d olc::GFX3D::Math::Vec_Sub ( vec3d & v1,
vec3d & v2 )
static

The documentation for this class was generated from the following file: