CG_Labs  2021.2
Public Member Functions | Public Attributes | Friends | List of all members
FPSCamera< T, P > Class Template Reference

#include <FPSCamera.h>

Public Member Functions

 FPSCamera (T fovy, T aspect, T nnear, T nfar)
 
 ~FPSCamera ()
 
void Update (std::chrono::microseconds deltaTime, InputHandler &ih, bool ignoreKeyEvents=false, bool ignoreMouseEvents=false)
 
void SetProjection (T fovy, T aspect, T nnear, T nfar)
 
void SetFov (T fovy)
 
GetFov ()
 
void SetAspect (T a)
 
GetAspect ()
 
glm::tmat4x4< T, P > GetViewToWorldMatrix ()
 
glm::tmat4x4< T, P > GetWorldToViewMatrix ()
 
glm::tmat4x4< T, P > GetClipToWorldMatrix ()
 
glm::tmat4x4< T, P > GetWorldToClipMatrix ()
 
glm::tmat4x4< T, P > GetClipToViewMatrix ()
 
glm::tmat4x4< T, P > GetViewToClipMatrix ()
 
glm::tvec3< T, P > GetClipToWorld (glm::tvec3< T, P > xyw)
 
glm::tvec3< T, P > GetClipToView (glm::tvec3< T, P > xyw)
 

Public Attributes

TRSTransform< T, P > mWorld
 
glm::tvec3< T, P > mMovementSpeed
 
glm::tvec2< T, P > mMouseSensitivity
 
mFov
 
mAspect
 
mNear
 
mFar
 
glm::tmat4x4< T, P > mProjection
 
glm::tmat4x4< T, P > mProjectionInverse
 
glm::tvec2< T, P > mMousePosition
 

Friends

std::ostream & operator<< (std::ostream &os, FPSCamera< T, P > &v)
 
std::istream & operator>> (std::istream &is, FPSCamera< T, P > &v)
 

Constructor & Destructor Documentation

◆ FPSCamera()

template<typename T , glm::precision P>
FPSCamera< T, P >::FPSCamera ( fovy,
aspect,
nnear,
nfar 
)

◆ ~FPSCamera()

template<typename T , glm::precision P>
FPSCamera< T, P >::~FPSCamera

Member Function Documentation

◆ GetAspect()

template<typename T , glm::precision P>
T FPSCamera< T, P >::GetAspect

◆ GetClipToView()

template<typename T , glm::precision P>
glm::tvec3< T, P > FPSCamera< T, P >::GetClipToView ( glm::tvec3< T, P >  xyw)

◆ GetClipToViewMatrix()

template<typename T , glm::precision P>
glm::tmat4x4< T, P > FPSCamera< T, P >::GetClipToViewMatrix

◆ GetClipToWorld()

template<typename T , glm::precision P>
glm::tvec3< T, P > FPSCamera< T, P >::GetClipToWorld ( glm::tvec3< T, P >  xyw)

◆ GetClipToWorldMatrix()

template<typename T , glm::precision P>
glm::tmat4x4< T, P > FPSCamera< T, P >::GetClipToWorldMatrix

◆ GetFov()

template<typename T , glm::precision P>
T FPSCamera< T, P >::GetFov

◆ GetViewToClipMatrix()

template<typename T , glm::precision P>
glm::tmat4x4< T, P > FPSCamera< T, P >::GetViewToClipMatrix

◆ GetViewToWorldMatrix()

template<typename T , glm::precision P>
glm::tmat4x4< T, P > FPSCamera< T, P >::GetViewToWorldMatrix

◆ GetWorldToClipMatrix()

template<typename T , glm::precision P>
glm::tmat4x4< T, P > FPSCamera< T, P >::GetWorldToClipMatrix

◆ GetWorldToViewMatrix()

template<typename T , glm::precision P>
glm::tmat4x4< T, P > FPSCamera< T, P >::GetWorldToViewMatrix

◆ SetAspect()

template<typename T , glm::precision P>
void FPSCamera< T, P >::SetAspect ( a)

◆ SetFov()

template<typename T , glm::precision P>
void FPSCamera< T, P >::SetFov ( fovy)

◆ SetProjection()

template<typename T , glm::precision P>
void FPSCamera< T, P >::SetProjection ( fovy,
aspect,
nnear,
nfar 
)

◆ Update()

template<typename T , glm::precision P>
void FPSCamera< T, P >::Update ( std::chrono::microseconds  deltaTime,
InputHandler ih,
bool  ignoreKeyEvents = false,
bool  ignoreMouseEvents = false 
)

Friends And Related Function Documentation

◆ operator<<

template<typename T , glm::precision P>
std::ostream& operator<< ( std::ostream &  os,
FPSCamera< T, P > &  v 
)
friend

◆ operator>>

template<typename T , glm::precision P>
std::istream& operator>> ( std::istream &  is,
FPSCamera< T, P > &  v 
)
friend

Member Data Documentation

◆ mAspect

template<typename T , glm::precision P>
T FPSCamera< T, P >::mAspect

◆ mFar

template<typename T , glm::precision P>
T FPSCamera< T, P >::mFar

◆ mFov

template<typename T , glm::precision P>
T FPSCamera< T, P >::mFov

◆ mMousePosition

template<typename T , glm::precision P>
glm::tvec2<T, P> FPSCamera< T, P >::mMousePosition

◆ mMouseSensitivity

template<typename T , glm::precision P>
glm::tvec2<T, P> FPSCamera< T, P >::mMouseSensitivity

◆ mMovementSpeed

template<typename T , glm::precision P>
glm::tvec3<T, P> FPSCamera< T, P >::mMovementSpeed

◆ mNear

template<typename T , glm::precision P>
T FPSCamera< T, P >::mNear

◆ mProjection

template<typename T , glm::precision P>
glm::tmat4x4<T, P> FPSCamera< T, P >::mProjection

◆ mProjectionInverse

template<typename T , glm::precision P>
glm::tmat4x4<T, P> FPSCamera< T, P >::mProjectionInverse

◆ mWorld

template<typename T , glm::precision P>
TRSTransform<T, P> FPSCamera< T, P >::mWorld

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