My Project
Loading...
Searching...
No Matches
Public Member Functions | Private Member Functions | Private Attributes | List of all members
Camera Class Reference

#include <camera.hh>

Collaboration diagram for Camera:
Collaboration graph

Public Member Functions

 Camera (float position, float width, float height, float up=0.0f, float yaw=-90.0f, float pitch=0.0f, float fov=45.0f, float z_zear=0.1f, float z_far=100.0f)
 
void update (Keyboard &k, Mouse &m, float delta_time)
 
void update (const float delta_time)
 
glm::mat4 & get_view_matrix ()
 
glm::mat4 & get_projection ()
 
float get_fov ()
 
glm::vec3 & get_position ()
 
void set_moviment_speed (float m)
 

Private Member Functions

void update_camera ()
 
void process_keyboard (Keyboard &k, float delta_time)
 
void process_mouse_moviment (Mouse &m, bool constrian_pitch=true)
 
void process_mouse_scroll (float y_offset)
 
void process_NDC ()
 

Private Attributes

glm::vec3 _position
 
glm::vec3 _front
 
glm::vec3 _up
 
glm::vec3 _right
 
glm::vec3 _direction_up
 
glm::mat4 _perspecitve_view
 
glm::mat4 _perspecitve_projection
 
float _yaw
 
float _pitch
 
float _fov
 
float _moviment_speed = 2.5f
 
float _mouse_sensitivity = 0.1f
 
float _zoom_sensitivity = 2.0f
 
float _view_width
 
float _view_height
 
float _z_near
 
float _z_far
 

Constructor & Destructor Documentation

◆ Camera()

Camera::Camera ( float  position,
float  width,
float  height,
float  up = 0.0f,
float  yaw = -90.0f,
float  pitch = 0.0f,
float  fov = 45.0f,
float  z_zear = 0.1f,
float  z_far = 100.0f 
)

Member Function Documentation

◆ get_fov()

float Camera::get_fov ( )
inline

◆ get_position()

glm::vec3 & Camera::get_position ( )
inline

◆ get_projection()

glm::mat4 & Camera::get_projection ( )

◆ get_view_matrix()

glm::mat4 & Camera::get_view_matrix ( )

◆ process_keyboard()

void Camera::process_keyboard ( Keyboard k,
float  delta_time 
)
private

◆ process_mouse_moviment()

void Camera::process_mouse_moviment ( Mouse m,
bool  constrian_pitch = true 
)
private

◆ process_mouse_scroll()

void Camera::process_mouse_scroll ( float  y_offset)
private

◆ process_NDC()

void Camera::process_NDC ( )
private

◆ set_moviment_speed()

void Camera::set_moviment_speed ( float  m)
inline

◆ update() [1/2]

void Camera::update ( const float  delta_time)

◆ update() [2/2]

void Camera::update ( Keyboard k,
Mouse m,
float  delta_time 
)

◆ update_camera()

void Camera::update_camera ( )
private

Member Data Documentation

◆ _direction_up

glm::vec3 Camera::_direction_up
private

◆ _fov

float Camera::_fov
private

◆ _front

glm::vec3 Camera::_front
private

◆ _mouse_sensitivity

float Camera::_mouse_sensitivity = 0.1f
private

◆ _moviment_speed

float Camera::_moviment_speed = 2.5f
private

◆ _perspecitve_projection

glm::mat4 Camera::_perspecitve_projection
private

◆ _perspecitve_view

glm::mat4 Camera::_perspecitve_view
private

◆ _pitch

float Camera::_pitch
private

◆ _position

glm::vec3 Camera::_position
private

◆ _right

glm::vec3 Camera::_right
private

◆ _up

glm::vec3 Camera::_up
private

◆ _view_height

float Camera::_view_height
private

◆ _view_width

float Camera::_view_width
private

◆ _yaw

float Camera::_yaw
private

◆ _z_far

float Camera::_z_far
private

◆ _z_near

float Camera::_z_near
private

◆ _zoom_sensitivity

float Camera::_zoom_sensitivity = 2.0f
private

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