Polyphase Game Engine
Loading...
Searching...
No Matches
CameraFrustum Class Reference

#include <CameraFrustum.h>

Public Types

enum  PlaneIndex : uint8_t {
  Left , Right , Bottom , Top ,
  Near , Far , Count
}
 

Public Member Functions

void SetPerspective (float angle, float ratio, float nearDist, float farDist)
 
void SetOrthographic (float width, float height, float nearDist, float farDist)
 
void SetViewProjection (const glm::mat4 &viewProjectionMatrix)
 
void SetPosition (glm::vec3 position)
 
void SetBasis (glm::vec3 forward, glm::vec3 up, glm::vec3 right)
 
bool IsPointInFrustum (glm::vec3 p) const
 
bool IsSphereInFrustum (glm::vec3 center, float radius) const
 
bool IsPointInFrustumOrtho (glm::vec3 p) const
 
bool IsSphereInFrustumOrtho (glm::vec3 center, float radius) const
 
bool IsPointInsidePlanes (glm::vec3 p) const
 
bool IsSphereInsidePlanes (glm::vec3 center, float radius) const
 

Public Attributes

glm::vec3 mPosition = {}
 
glm::vec3 mBasisX = { 1.0f, 0.0f, 0.0f }
 
glm::vec3 mBasisY = { 0.0f, 1.0f, 0.0f }
 
glm::vec3 mBasisZ = { 0.0f, 0.0f, -1.0f }
 
float mNearDist = 0.0f
 
float mFarDist = 0.0f
 
float mNearWidth = 0.0f
 
float mNearHeight = 0.0f
 
float mTangent = 0.0f
 
float mAspectRatio = 0.0f
 
float mSphereFactorX = 0.0f
 
float mSphereFactorY = 0.0f
 
bool mOrtho = false
 
std::array< glm::vec4, CountmPlanes = {}
 

Member Enumeration Documentation

◆ PlaneIndex

enum CameraFrustum::PlaneIndex : uint8_t
Enumerator
Left 
Right 
Bottom 
Top 
Near 
Far 
Count 

Member Function Documentation

◆ IsPointInFrustum()

bool CameraFrustum::IsPointInFrustum ( glm::vec3  p) const

◆ IsPointInFrustumOrtho()

bool CameraFrustum::IsPointInFrustumOrtho ( glm::vec3  p) const

◆ IsPointInsidePlanes()

bool CameraFrustum::IsPointInsidePlanes ( glm::vec3  p) const

◆ IsSphereInFrustum()

bool CameraFrustum::IsSphereInFrustum ( glm::vec3  center,
float  radius 
) const

◆ IsSphereInFrustumOrtho()

bool CameraFrustum::IsSphereInFrustumOrtho ( glm::vec3  center,
float  radius 
) const

◆ IsSphereInsidePlanes()

bool CameraFrustum::IsSphereInsidePlanes ( glm::vec3  center,
float  radius 
) const

◆ SetBasis()

void CameraFrustum::SetBasis ( glm::vec3  forward,
glm::vec3  up,
glm::vec3  right 
)

◆ SetOrthographic()

void CameraFrustum::SetOrthographic ( float  width,
float  height,
float  nearDist,
float  farDist 
)

◆ SetPerspective()

void CameraFrustum::SetPerspective ( float  angle,
float  ratio,
float  nearDist,
float  farDist 
)

◆ SetPosition()

void CameraFrustum::SetPosition ( glm::vec3  position)

◆ SetViewProjection()

void CameraFrustum::SetViewProjection ( const glm::mat4 &  viewProjectionMatrix)

Member Data Documentation

◆ mAspectRatio

float CameraFrustum::mAspectRatio = 0.0f

◆ mBasisX

glm::vec3 CameraFrustum::mBasisX = { 1.0f, 0.0f, 0.0f }

◆ mBasisY

glm::vec3 CameraFrustum::mBasisY = { 0.0f, 1.0f, 0.0f }

◆ mBasisZ

glm::vec3 CameraFrustum::mBasisZ = { 0.0f, 0.0f, -1.0f }

◆ mFarDist

float CameraFrustum::mFarDist = 0.0f

◆ mNearDist

float CameraFrustum::mNearDist = 0.0f

◆ mNearHeight

float CameraFrustum::mNearHeight = 0.0f

◆ mNearWidth

float CameraFrustum::mNearWidth = 0.0f

◆ mOrtho

bool CameraFrustum::mOrtho = false

◆ mPlanes

std::array<glm::vec4, Count> CameraFrustum::mPlanes = {}

◆ mPosition

glm::vec3 CameraFrustum::mPosition = {}

◆ mSphereFactorX

float CameraFrustum::mSphereFactorX = 0.0f

◆ mSphereFactorY

float CameraFrustum::mSphereFactorY = 0.0f

◆ mTangent

float CameraFrustum::mTangent = 0.0f

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