1#ifndef TATOOINE_RENDERING_FIRST_PERSON_WINDOW_H
2#define TATOOINE_RENDERING_FIRST_PERSON_WINDOW_H
19 std::chrono::time_point<std::chrono::system_clock>
m_time =
20 std::chrono::system_clock::now();
27 m_time{std::chrono::system_clock::now()} {
40 template <
typename Event>
42 m_time = std::chrono::system_clock::now();
46 auto const before = std::chrono::system_clock::now();
47 update(std::forward<Event>(event),
48 std::chrono::system_clock::now() -
m_time);
56 auto update(F&& f, std::chrono::duration<double>
const& dt) {
69 m_width =
static_cast<std::size_t
>(w);
70 m_height =
static_cast<std::size_t
>(h);
auto should_close() const
Definition: window.h:65
void on_resize(int, int) override
window(const std::string &title, size_t width, size_t height)
void on_key_pressed(key) override
key
Definition: keyboard.h:9
DLL_API auto enable_depth_test() -> void
void add_listener(window_listener &l)
Definition: camera_controller.h:64
auto projection_matrix() const
Definition: camera_controller.h:130
void on_resize(int w, int h) override
Definition: camera_controller.h:200
void update(std::chrono::duration< double > const &dt)
Definition: camera_controller.h:209
auto view_matrix() const
Definition: camera_controller.h:134
auto active_camera() const -> auto const &
Definition: camera_controller.h:100
Definition: first_person_window.h:15
auto render_loop(Event &&event)
Definition: first_person_window.h:41
auto view_matrix() const
Definition: first_person_window.h:65
auto width() const
Definition: first_person_window.h:34
auto update(F &&f, std::chrono::duration< double > const &dt)
Definition: first_person_window.h:56
std::chrono::time_point< std::chrono::system_clock > m_time
Definition: first_person_window.h:19
std::size_t m_width
Definition: first_person_window.h:17
auto height() const
Definition: first_person_window.h:35
auto projection_matrix() const
Definition: first_person_window.h:61
first_person_window(std::size_t width=800, std::size_t height=600)
Definition: first_person_window.h:22
std::size_t m_height
Definition: first_person_window.h:17
struct camera_controller< float > m_camera_controller
Definition: first_person_window.h:18
auto camera_controller() -> auto &
Definition: first_person_window.h:37
auto on_resize(int w, int h) -> void override
Definition: first_person_window.h:67
virtual ~first_person_window()=default
auto camera_controller() const -> auto const &
Definition: first_person_window.h:38
auto on_key_pressed(gl::key k) -> void override
Definition: first_person_window.h:74