diff options
| author | Mel <einebeere@gmail.com> | 2023-07-12 22:57:53 +0200 |
|---|---|---|
| committer | Mel <einebeere@gmail.com> | 2023-07-12 22:58:34 +0200 |
| commit | c0556f76fc5c8271c2eaa7ca91ad1c92c691d8bc (patch) | |
| tree | a7c10af8e912ae0fa4aec58b15d8a6496a288e4d /src/World | |
| parent | f09e5791837bb003f7c5db8c0e3162636bc9a9c2 (diff) | |
| download | meowcraft-c0556f76fc5c8271c2eaa7ca91ad1c92c691d8bc.tar.zst meowcraft-c0556f76fc5c8271c2eaa7ca91ad1c92c691d8bc.zip | |
Δt calculation and usage
Diffstat (limited to 'src/World')
| -rw-r--r-- | src/World/Clouds.cpp | 5 | ||||
| -rw-r--r-- | src/World/Clouds.hpp | 3 | ||||
| -rw-r--r-- | src/World/World.cpp | 11 | ||||
| -rw-r--r-- | src/World/World.hpp | 2 |
4 files changed, 8 insertions, 13 deletions
diff --git a/src/World/Clouds.cpp b/src/World/Clouds.cpp index 36f2441..2e0f76c 100644 --- a/src/World/Clouds.cpp +++ b/src/World/Clouds.cpp @@ -1,4 +1,5 @@ #include "Clouds.hpp" +#include "../Time.hpp" #include "../Math/MVP.hpp" #include "../Math/Perlin.hpp" #include "../Math/AABB.hpp" @@ -33,8 +34,8 @@ Clouds::Clouds(Real ascept, Real fov, Real near, Real far, Vector<3, F32> sky_co m_program.unbind(); } -void Clouds::update(U64 time) { - m_x_offset += time / 5000.0; +void Clouds::update(const Time& time) { + m_x_offset += 5.0 * time.delta(); } void Clouds::render(const GFX::Camera& camera) const { diff --git a/src/World/Clouds.hpp b/src/World/Clouds.hpp index b2d5a10..35e7155 100644 --- a/src/World/Clouds.hpp +++ b/src/World/Clouds.hpp @@ -1,5 +1,6 @@ #pragma once +#include "../Time.hpp" #include "../GFX/Binder.hpp" #include "../GFX/Shading/Program.hpp" #include "../GFX/Shading/Uniform.hpp" @@ -11,7 +12,7 @@ class Clouds { public: Clouds(Real ascept, Real fov, Real near, Real far, Vector<3, F32> sky_color, Vector<3, F32> sun_direction); - void update(U64 time); + void update(const Time& time); void render(const GFX::Camera& camera) const; private: constexpr static U32 CloudMatrixSize = 128; diff --git a/src/World/World.cpp b/src/World/World.cpp index de80afe..8685e8a 100644 --- a/src/World/World.cpp +++ b/src/World/World.cpp @@ -1,5 +1,6 @@ #include "World.hpp" #include "Generation/ChunkMeshing.hpp" +#include "../Time.hpp" namespace MC::World { @@ -71,9 +72,9 @@ void World::load_finished_chunks_from_queue() { void World::request_generation(ChunkIndex index, Real priority) { m_queue.add(index, priority, [=]() -> GenerationResult { - auto start = timestamp(); + auto start = Time::now(); auto chunk = m_generator.generate(index.x, index.y); - return {chunk, timestamp() - start}; + return {chunk, Time::now() - start}; }); } @@ -89,12 +90,6 @@ World::ChunkData& World::get(ChunkIndex index) { return entry->second; } -U64 World::timestamp() { - auto time = std::chrono::system_clock::now().time_since_epoch(); - auto ms = std::chrono::duration_cast<std::chrono::milliseconds>(time); - return ms.count(); -} - void World::try_to_create_mesh_for_chunk(ChunkData& data) { auto index = data.index; diff --git a/src/World/World.hpp b/src/World/World.hpp index ef8b7af..8a11dbe 100644 --- a/src/World/World.hpp +++ b/src/World/World.hpp @@ -47,8 +47,6 @@ private: ChunkData& get(ChunkIndex index); - static U64 timestamp(); - U8 m_view_distance_radius = 10; struct GenerationResult { |
