6#ifndef INCLUDE_VULKANENGINE_CAMERA_H_
7#define INCLUDE_VULKANENGINE_CAMERA_H_
9#include <VulkanEngine/SceneObject.h>
12#include <vulkan/vulkan.hpp>
28 Camera(Eigen::Vector3f _look_at = {0.0f, 0.0f, 0.0f},
29 Eigen::Vector3f _up_vector = {0.0f, 1.0f, 0.0f},
float _z_near = 0.1f,
30 float _z_far = 1000.0f,
float _fov = 45.0f, uint32_t _width = 800,
31 uint32_t _height = 600);
38 void setLookAt(
const Eigen::Vector3f& _look_at);
71 void update(std::shared_ptr<SceneState> scene_state)
override;
74 Eigen::Vector3f look_at;
77 Eigen::Vector3f up_vector;
const Eigen::Vector3f getUpVector() const
Definition: Camera.cpp:64
float getWidth() const
Definition: Camera.cpp:121
void setHeight(uint32_t _height)
Definition: Camera.cpp:119
void setWidth(uint32_t _width)
Definition: Camera.cpp:117
const Eigen::Vector3f getLookAt() const
Definition: Camera.cpp:60
virtual ~Camera()
Destructor.
Definition: Camera.cpp:40
float getHeight() const
Definition: Camera.cpp:123
const Eigen::Matrix4f getPerspectiveProjectionMatrix() const
Definition: Camera.cpp:68
void setLookAt(const Eigen::Vector3f &_look_at)
Definition: Camera.cpp:56
const Eigen::Matrix4f getViewMatrix() const
Definition: Camera.cpp:93
Represents an object in a scene.
Definition: SceneObject.h:17
TODO development of this class is in progress.
Definition: Attribute.h:13