fixes
This commit is contained in:
21
include/scene/camera.hpp
Executable file
21
include/scene/camera.hpp
Executable file
@@ -0,0 +1,21 @@
|
||||
#pragma once
|
||||
|
||||
#include "scene/camera_view.hpp"
|
||||
|
||||
class camera {
|
||||
public:
|
||||
virtual ~camera() = default;
|
||||
|
||||
virtual void update(
|
||||
float time_delta,
|
||||
glm::vec2 mouse_pos_delta,
|
||||
float mouse_wheel_delta,
|
||||
camera_view& view
|
||||
) = 0;
|
||||
|
||||
virtual void look_at(
|
||||
const glm::vec3& origin,
|
||||
const glm::vec3& target,
|
||||
camera_view& view
|
||||
) = 0;
|
||||
};
|
||||
30
include/scene/flying_camera.hpp
Executable file
30
include/scene/flying_camera.hpp
Executable file
@@ -0,0 +1,30 @@
|
||||
#pragma once
|
||||
|
||||
#include "scene/camera.hpp"
|
||||
|
||||
|
||||
|
||||
class flying_camera : public camera {
|
||||
public:
|
||||
explicit flying_camera(float yaw, float pitch, float roll);
|
||||
|
||||
void update(
|
||||
float time_delta,
|
||||
glm::vec2 mouse_pos_delta,
|
||||
float mouse_wheel_delta,
|
||||
camera_view& view
|
||||
) override;
|
||||
|
||||
void look_at(
|
||||
const glm::vec3& origin,
|
||||
const glm::vec3& target,
|
||||
camera_view& view
|
||||
) override;
|
||||
|
||||
private:
|
||||
glm::vec3 m_velocity{ 0.0f, 0.0f, 0.0f };
|
||||
glm::mat3 m_world_rotation;
|
||||
glm::vec3 m_world_up;
|
||||
|
||||
float m_pitch, m_yaw, m_roll;
|
||||
};
|
||||
10
include/scene/lighting_setup.hpp
Normal file
10
include/scene/lighting_setup.hpp
Normal file
@@ -0,0 +1,10 @@
|
||||
#pragma once
|
||||
|
||||
#include "glm/glm.hpp"
|
||||
|
||||
struct lighting_setup
|
||||
{
|
||||
glm::vec3 point_light_direction;
|
||||
glm::vec3 point_light_color;
|
||||
glm::vec3 ambient_light_color;
|
||||
};
|
||||
Reference in New Issue
Block a user