vengine  0.1.0
3D graphics engine made with Vulkan
Loading...
Searching...
No Matches
ven::Camera Class Reference

#include <Camera.hpp>

+ Collaboration diagram for ven::Camera:

Public Member Functions

void setOrthographicProjection (float left, float right, float top, float bottom, float near, float far)
 
void setPerspectiveProjection (float fovy, float aspect, float near, float far)
 
void setViewDirection (glm::vec3 position, glm::vec3 direction, glm::vec3 up=glm::vec3{0.F, -1.F, 0.F})
 
void setViewTarget (glm::vec3 position, glm::vec3 target, glm::vec3 up=glm::vec3{0.F, -1.F, 0.F})
 
void setViewYXZ (glm::vec3 position, glm::vec3 rotation)
 
const glm::mat4 & getProjection () const
 
const glm::mat4 & getView () const
 
const glm::mat4 & getInverseView () const
 

Private Attributes

glm::mat4 m_projectionMatrix {1.F}
 
glm::mat4 m_viewMatrix {1.F}
 
glm::mat4 m_inverseViewMatrix {1.F}
 

Detailed Description

Definition at line 17 of file Camera.hpp.

Member Function Documentation

◆ getInverseView()

const glm::mat4 & ven::Camera::getInverseView ( ) const
inlinenodiscard

Definition at line 29 of file Camera.hpp.

References m_inverseViewMatrix.

◆ getProjection()

const glm::mat4 & ven::Camera::getProjection ( ) const
inlinenodiscard

Definition at line 27 of file Camera.hpp.

References m_projectionMatrix.

◆ getView()

const glm::mat4 & ven::Camera::getView ( ) const
inlinenodiscard

Definition at line 28 of file Camera.hpp.

References m_viewMatrix.

◆ setOrthographicProjection()

void ven::Camera::setOrthographicProjection ( float left,
float right,
float top,
float bottom,
float near,
float far )

Definition at line 6 of file camera.cpp.

References m_projectionMatrix.

◆ setPerspectiveProjection()

void ven::Camera::setPerspectiveProjection ( float fovy,
float aspect,
float near,
float far )

Definition at line 17 of file camera.cpp.

◆ setViewDirection()

void ven::Camera::setViewDirection ( glm::vec3 position,
glm::vec3 direction,
glm::vec3 up = glm::vec3{0.F, -1.F, 0.F} )

Definition at line 29 of file camera.cpp.

◆ setViewTarget()

void ven::Camera::setViewTarget ( glm::vec3 position,
glm::vec3 target,
glm::vec3 up = glm::vec3{0.F, -1.F, 0.F} )
inline

Definition at line 24 of file Camera.hpp.

◆ setViewYXZ()

void ven::Camera::setViewYXZ ( glm::vec3 position,
glm::vec3 rotation )

Definition at line 64 of file camera.cpp.

Member Data Documentation

◆ m_inverseViewMatrix

glm::mat4 ven::Camera::m_inverseViewMatrix {1.F}
private

Definition at line 35 of file Camera.hpp.

Referenced by getInverseView().

◆ m_projectionMatrix

glm::mat4 ven::Camera::m_projectionMatrix {1.F}
private

Definition at line 33 of file Camera.hpp.

Referenced by getProjection(), and setOrthographicProjection().

◆ m_viewMatrix

glm::mat4 ven::Camera::m_viewMatrix {1.F}
private

Definition at line 34 of file Camera.hpp.

Referenced by getView().


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