Skip to content
Snippets Groups Projects
Commit 67b5a91a authored by TheLavaBlock's avatar TheLavaBlock
Browse files

delta

parent 1c46d630
No related branches found
No related tags found
No related merge requests found
......@@ -445,7 +445,7 @@ void app::handle_update() {
else
delta = milliseconds(0);
return on_update ? on_update(delta) : true;
return on_update ? on_update(to_dt(delta)) : true;
});
}
......
......@@ -49,7 +49,7 @@ struct app : frame {
lava::run_time run_time;
using update_func = std::function<bool(milliseconds)>;
using update_func = std::function<bool(delta)>;
update_func on_update;
using create_func = std::function<bool()>;
......
......@@ -24,9 +24,7 @@ void camera::destroy() {
data = nullptr;
}
void camera::update_view(milliseconds delta_, mouse_position mouse_pos) {
auto delta = to_sec(delta_);
void camera::update_view(delta dt, mouse_position mouse_pos) {
if (translate || rotate) {
......@@ -35,13 +33,13 @@ void camera::update_view(milliseconds delta_, mouse_position mouse_pos) {
if (rotate && !lock_rotation) {
auto speed = delta * rotation_speed;
auto speed = dt * rotation_speed;
rotation += v3(dy * speed, -dx * speed, 0.f);
}
if (translate) {
auto speed = delta * movement_speed;
auto speed = dt * movement_speed;
position -= v3(-dx * speed, -dy * speed, 0.f);
}
......@@ -51,7 +49,7 @@ void camera::update_view(milliseconds delta_, mouse_position mouse_pos) {
if ((scroll_pos != 0.0)) {
auto speed = delta * zoom_speed;
auto speed = dt * zoom_speed;
position -= v3(-0.f, 0.f, scroll_pos * speed);
scroll_pos = 0.0;
}
......@@ -65,7 +63,7 @@ void camera::update_view(milliseconds delta_, mouse_position mouse_pos) {
front = glm::normalize(front);
auto speed = to_r32(delta * movement_speed * 2.f);
auto speed = dt * movement_speed * 2.f;
if (up) {
......@@ -106,13 +104,11 @@ void camera::update_view(milliseconds delta_, mouse_position mouse_pos) {
memcpy(as_ptr(data->get_mapped_data()) + sizeof(mat4), &view, sizeof(mat4));
}
void camera::update_view(milliseconds delta_, gamepad const& pad) {
void camera::update_view(delta dt, gamepad const& pad) {
if (type != camera_type::first_person)
return;
auto delta = to_r32(to_sec(delta_));
const r32 dead_zone = 0.2f;
const r32 range = 1.f - dead_zone;
......@@ -122,8 +118,8 @@ void camera::update_view(milliseconds delta_, gamepad const& pad) {
front.z = cos(glm::radians(rotation.x)) * cos(glm::radians(rotation.y));
front = glm::normalize(front);
auto movement_factor = delta * movement_speed * 2.f;
auto rotation_factor = delta * rotation_speed * 2.5f;
auto movement_factor = dt * movement_speed * 2.f;
auto rotation_factor = dt * rotation_speed * 2.5f;
// move
......
......@@ -24,8 +24,8 @@ struct camera : id_obj {
void destroy();
void update_projection();
void update_view(milliseconds delta, mouse_position mouse_pos);
void update_view(milliseconds delta, gamepad const& pad);
void update_view(delta dt, mouse_position mouse_pos);
void update_view(delta dt, gamepad const& pad);
bool handle(key_event::ref event);
bool handle(mouse_button_event::ref event, mouse_position mouse_pos);
......
......@@ -19,8 +19,10 @@ using clock = std::chrono::high_resolution_clock;
using time_point = clock::time_point;
using duration = clock::duration;
inline r64 to_sec(milliseconds ms) { return ms.count() / 1000.0; }
inline milliseconds to_ms(r64 sec) { return milliseconds(to_i32(sec * 1000.0)); }
inline delta to_dt(milliseconds ms) { return ms.count() / 1000.f; }
inline r64 to_sec(milliseconds ms) { return ms.count() / 1000.; }
inline milliseconds to_ms(delta dt) { return milliseconds(to_i32(dt * 1000.f)); }
inline milliseconds to_ms(r64 sec) { return milliseconds(to_i32(sec * 1000.)); }
struct timer {
......
......@@ -64,6 +64,7 @@ using uchar = unsigned char;
using r32 = float;
using r64 = double;
using real = r64;
using delta = r32;
using type = ui32;
constexpr type const no_type = 0xffffffff;
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment