Browse Source

Trying to figure this out...

Jef Belmans 2 years ago
parent
commit
6b751d24c6

+ 1 - 0
coral_renderer/coral_buffer.cpp

@@ -1,6 +1,7 @@
 #include "coral_buffer.h"
 
 #include <cassert>
+#include <iostream>
 
 #define VMA_IMPLEMENTATION
 #include "vk_mem_alloc.h"

+ 3 - 0
coral_renderer/coral_mesh.cpp

@@ -181,6 +181,7 @@ std::unique_ptr<coral_mesh> coral_mesh::create_mesh_from_vertices(coral_device&
 
 void coral_mesh::bind(VkCommandBuffer command_buffer)
 {
+    if (vertex_buffer_->get_buffer_size() <= 0) return;
     VkBuffer buffers[]{ vertex_buffer_->get_buffer().buffer };
     VkDeviceSize offsets[]{ 0 };
     vkCmdBindVertexBuffers(command_buffer, 0, 1, buffers, offsets);
@@ -193,6 +194,8 @@ void coral_mesh::bind(VkCommandBuffer command_buffer)
 
 void coral_mesh::draw(VkCommandBuffer command_buffer)
 {
+    if (vertex_buffer_->get_buffer_size() <= 0) return;
+
     if (has_index_buffer())
         vkCmdDrawIndexed(command_buffer, index_count_, 1, 0, 0, 0);
     else

+ 1 - 1
minecraft_clone/first_app.cpp

@@ -108,7 +108,7 @@ void first_app::run()
             global_ubo.flush_index(frame_index);
 
             // UPDATE CHUNKS
-            // world_generator_.update_world(camera.get_position());
+            world_generator_.update_world(camera.get_position());
 
             // RENDER
 			renderer_.begin_swapchain_render_pass(command_buffer);

+ 1 - 1
minecraft_clone/voxel_renderer.cpp

@@ -42,7 +42,7 @@ void voxel_renderer::render_chunks(VoxelRenderInfo& render_info)
 
 	for (auto& chunk : render_info.chunks)
 	{
-		if (!chunk.is_active) continue;
+		if (!chunk.is_active && chunk.mesh.get() == nullptr) continue;
 
 		PushConstant push{ chunk.world_position };
 		vkCmdPushConstants(

+ 24 - 19
minecraft_clone/world_generator.cpp

@@ -12,16 +12,7 @@
 world_generator::world_generator(coral_3d::coral_device& device)
 	: device_{ device }
 {
-	thread_count_ = std::thread::hardware_concurrency() - 1;
-	worker_threads_.reserve(thread_count_);
-	command_pools_.reserve(thread_count_);
-	for (size_t i = 0; i < thread_count_; i++)
-	{
-		command_pools_.emplace_back(device_.create_command_pool(VK_COMMAND_POOL_CREATE_RESET_COMMAND_BUFFER_BIT));
-		worker_threads_.emplace_back(std::jthread(
-			worker_thread(threads_finished_, work_queue_, i, device_.create_command_buffer(command_pools_[i]))
-		));
-	}
+	start_worker_threads();
 }
 
 world_generator::~world_generator()
@@ -81,15 +72,12 @@ void world_generator::update_world(const glm::vec3& position)
 				work_queue_.push(new GenerateChunk(device_, *this, chunk_coord));
 		}
 	}
+}
 
-	work_queue_.job_flag_.notify_all();
-	std::unique_lock<std::mutex> lock(work_queue_.mutex_);
-	work_queue_.job_done_flag_.wait(lock, [&] {return work_queue_.done(); });
-
-	// TODO: get command buffers from worker threads and execute them to the main buffer
-	// Then submit the main buffer to the graphics queue
-
-
+Chunk& world_generator::add_chunk(const glm::ivec2& chunk_coord)
+{
+	chunks_.emplace_back(generate_chunk(chunk_coord));
+	return chunks_.back();
 }
 
 Chunk world_generator::generate_chunk(const glm::ivec2& coord)
@@ -279,12 +267,29 @@ BlockType world_generator::get_block_at_position(const glm::vec3& position)
 
 /* ======================================================= Jobs ======================================================= */
 #pragma region Jobs
+void world_generator::start_worker_threads()
+{
+	thread_count_ = 1;
+	worker_threads_.reserve(thread_count_);
+	command_pools_.reserve(thread_count_);
+
+	for (size_t i = 0; i < thread_count_; i++)
+	{
+		command_pools_.emplace_back(device_.create_command_pool(VK_COMMAND_POOL_CREATE_RESET_COMMAND_BUFFER_BIT));
+		command_buffers_.emplace_back(device_.create_command_buffer(command_pools_[i], VK_COMMAND_BUFFER_LEVEL_SECONDARY));
+
+		worker_threads_.emplace_back(std::jthread(
+			worker_thread(threads_finished_, work_queue_, i, command_buffers_.back())
+		));
+	}
+}
+
 GenerateChunk::GenerateChunk(coral_3d::coral_device& device, world_generator& generator, const glm::ivec2& chunk_coord)
 	: device_{ device }, generator_{ generator }, chunk_coord_{ chunk_coord } {}
 
 void GenerateChunk::execute(VkCommandBuffer command_buffer)
 {
-	Chunk& chunk = generator_.chunks_.emplace_back(generator_.generate_chunk(chunk_coord_));
+	auto& chunk = generator_.add_chunk(chunk_coord_);
 	generator_.rebuild_surrounding_chunks(chunk);
 	generator_.build_chunk(chunk);
 }

+ 9 - 5
minecraft_clone/world_generator.h

@@ -19,6 +19,8 @@ public:
 	void generate_world();
 	void update_world(const glm::vec3& position);
 
+	Chunk& add_chunk(const glm::ivec2& chunk_coord);
+
 	std::vector<Chunk>& get_chunks() { return chunks_; }
 
 private:
@@ -45,13 +47,15 @@ private:
 	const uint16_t world_height_{ 32 };
 
 	std::vector<Chunk> chunks_{};
-	std::vector<glm::ivec2> chunks_to_generate_{};
-	std::vector<Chunk*> chunks_to_build_{};
 	glm::ivec2 old_player_chunk_coord{0};
 
 	// Multithreading
+	void start_worker_threads();
+
 	size_t thread_count_{ 0 };
-	std::vector<VkCommandPool> command_pools_{};
+	std::mutex chunk_mutex_{};
+	std::vector<VkCommandPool> command_pools_{}; // One for each thread
+	std::vector<VkCommandBuffer> command_buffers_{}; // One for each thread
 	std::vector<std::jthread> worker_threads_{};
 	bool threads_finished_{ false };
 	vk_work_queue work_queue_{};
@@ -69,5 +73,5 @@ public:
 private:
 	coral_3d::coral_device& device_;
 	world_generator& generator_;
-	const glm::ivec2& chunk_coord_;
-};
+	glm::ivec2 chunk_coord_;
+};

BIN
out/build/x64-Debug/.ninja_deps


+ 132 - 118
out/build/x64-Debug/.ninja_log

@@ -1,142 +1,156 @@
 # ninja log v5
 3	143	7107653648382962	E:/Game Development/Visual Studio Solutions/Coral3D/shaders/compiled/PosNormCol.frag.spv	ba83fc1d44361fa5
+6	147	7107653648448312	E:/Game Development/Visual Studio Solutions/Coral3D/shaders/compiled/PosNormCol.vert.spv	9a4b34331b5d0f2
 191	893	7108127001697641	coral_renderer/CMakeFiles/coral_renderer.dir/coral_utils.cpp.obj	ad940dc42cf88241
 14	160	7108126994354209	E:/Game Development/Visual Studio Solutions/Coral3D/shaders/compiled/voxel_shader.frag.spv	c206f4c21516b9b
-6	147	7107653648448312	E:/Game Development/Visual Studio Solutions/Coral3D/shaders/compiled/PosNormCol.vert.spv	9a4b34331b5d0f2
+11	146	7108126994212978	E:/Game Development/Visual Studio Solutions/Coral3D/shaders/compiled/simple_shader.vert.spv	319095c1d4500e9c
+7	152	7108126994274110	E:/Game Development/Visual Studio Solutions/Coral3D/shaders/compiled/simple_shader.frag.spv	182e19d82932b3f8
 61	711	7108126999651316	third_party/GLFW/src/CMakeFiles/glfw.dir/win32_thread.c.obj	bff58b93f2a56d1b
 17	160	7108126994354209	E:/Game Development/Visual Studio Solutions/Coral3D/shaders/compiled/voxel_shader.vert.spv	16847f469f0def3c
-7	152	7108126994274110	E:/Game Development/Visual Studio Solutions/Coral3D/shaders/compiled/simple_shader.frag.spv	182e19d82932b3f8
-11	146	7108126994212978	E:/Game Development/Visual Studio Solutions/Coral3D/shaders/compiled/simple_shader.vert.spv	319095c1d4500e9c
-48	727	7108126999917618	third_party/GLFW/src/CMakeFiles/glfw.dir/win32_init.c.obj	aee4bdf0f24be977
 58	724	7108126999641272	third_party/GLFW/src/CMakeFiles/glfw.dir/win32_time.c.obj	406eae6337b59224
-203	1431	7108127007056263	coral_renderer/CMakeFiles/coral_renderer.dir/coral_descriptors.cpp.obj	c662391e5a2d5cb6
+48	727	7108126999917618	third_party/GLFW/src/CMakeFiles/glfw.dir/win32_init.c.obj	aee4bdf0f24be977
 41	703	7108126999641272	third_party/GLFW/src/CMakeFiles/glfw.dir/vulkan.c.obj	d687613254603224
+35	952	7109802858530164	coral_renderer/CMakeFiles/coral_renderer.dir/coral_descriptors.cpp.obj	c662391e5a2d5cb6
 74	677	7108126999515777	third_party/GLFW/src/CMakeFiles/glfw.dir/osmesa_context.c.obj	c429fa4f29a15e5f
 68	719	7108126999676684	third_party/GLFW/src/CMakeFiles/glfw.dir/wgl_context.c.obj	3afd0e43a8a16dc7
-30	725	7108126999762129	third_party/GLFW/src/CMakeFiles/glfw.dir/init.c.obj	5f4a50f3267d8484
 55	726	7108126999812189	third_party/GLFW/src/CMakeFiles/glfw.dir/win32_monitor.c.obj	e5281a6601c9ad8f
-15	1597	7109043135478884	minecraft_clone/CMakeFiles/minecraft_clone.dir/first_app.cpp.obj	e1882e4a9647373b
+30	725	7108126999762129	third_party/GLFW/src/CMakeFiles/glfw.dir/init.c.obj	5f4a50f3267d8484
 27	725	7108126999812189	third_party/GLFW/src/CMakeFiles/glfw.dir/context.c.obj	1ba1283f035e00a8
-729	783	7108127000557160	third_party/GLFW/src/glfw3.lib	72cb3f0d3bdbe8a5
+44	2129	7109802870329765	minecraft_clone/CMakeFiles/minecraft_clone.dir/first_app.cpp.obj	e1882e4a9647373b
 34	728	7108126999978088	third_party/GLFW/src/CMakeFiles/glfw.dir/input.c.obj	ad4c648576f9cac1
-52	729	7108126999993102	third_party/GLFW/src/CMakeFiles/glfw.dir/win32_joystick.c.obj	155a4d402b926fee
+729	783	7108127000557160	third_party/GLFW/src/glfw3.lib	72cb3f0d3bdbe8a5
 71	728	7108126999978088	third_party/GLFW/src/CMakeFiles/glfw.dir/egl_context.c.obj	720789878af83506
+52	729	7108126999993102	third_party/GLFW/src/CMakeFiles/glfw.dir/win32_joystick.c.obj	155a4d402b926fee
 38	695	7108126999621254	third_party/GLFW/src/CMakeFiles/glfw.dir/monitor.c.obj	c00f6f9bbf18e104
 45	727	7108126999872580	third_party/GLFW/src/CMakeFiles/glfw.dir/window.c.obj	b83095e4b715bc19
-170	1015	7108127002900360	coral_renderer/CMakeFiles/coral_renderer.dir/vk_initializers.cpp.obj	eb8072b4ba836b9d
 64	729	7108127000013130	third_party/GLFW/src/CMakeFiles/glfw.dir/win32_window.c.obj	b606f65291c42a2c
+170	1015	7108127002900360	coral_renderer/CMakeFiles/coral_renderer.dir/vk_initializers.cpp.obj	eb8072b4ba836b9d
 160	1033	7108127003081775	coral_renderer/CMakeFiles/coral_renderer.dir/coral_window.cpp.obj	64bd5f7418955876
 16	828	7108723612035769	coral_renderer/CMakeFiles/coral_renderer.dir/coral_camera.cpp.obj	614c49925260397
-194	1643	7108127009152244	coral_renderer/CMakeFiles/coral_renderer.dir/coral_texture.cpp.obj	794b98674d4a018b
-182	1307	7108127005816708	coral_renderer/CMakeFiles/coral_renderer.dir/coral_renderer.cpp.obj	b604da246ced7299
+20	895	7109802857960187	coral_renderer/CMakeFiles/coral_renderer.dir/coral_renderer.cpp.obj	b604da246ced7299
+26	1145	7109802860462882	coral_renderer/CMakeFiles/coral_renderer.dir/coral_texture.cpp.obj	794b98674d4a018b
+32	1185	7109802860876158	coral_renderer/CMakeFiles/coral_renderer.dir/coral_frame_info.cpp.obj	fca11dbf4e05b9f0
 21	1957	7108127012312936	third_party/CMakeFiles/vkbootstrap.dir/vkbootstrap/VkBootstrap.cpp.obj	90b228a58cfb5773
-18	1129	7108888034370238	coral_renderer/CMakeFiles/coral_renderer.dir/coral_frame_info.cpp.obj	fca11dbf4e05b9f0
+17	1178	7109802860821117	coral_renderer/CMakeFiles/coral_renderer.dir/coral_gameobject.cpp.obj	e91c1daf7373c0cf
+51	1236	7109802861395994	minecraft_clone/CMakeFiles/minecraft_clone.dir/voxel_renderer.cpp.obj	51e1bcde404a6192
 695	2260	7108127015362898	minecraft_clone/CMakeFiles/minecraft_clone.dir/chunk.cpp.obj	785a504661cf292a
-32	1186	7108888034945041	minecraft_clone/CMakeFiles/minecraft_clone.dir/voxel_renderer.cpp.obj	51e1bcde404a6192
-12	1136	7108888034447200	coral_renderer/CMakeFiles/coral_renderer.dir/coral_gameobject.cpp.obj	e91c1daf7373c0cf
-173	1682	7108127009566783	coral_renderer/CMakeFiles/coral_renderer.dir/coral_swapchain.cpp.obj	4b8d23051f1c25e2
-1653	2029	7109043137708564	minecraft_clone/minecraft_clone.exe	7da0b2f7ca2013
+11	1153	7109802860548912	coral_renderer/CMakeFiles/coral_renderer.dir/coral_swapchain.cpp.obj	4b8d23051f1c25e2
 24	1795	7108127010703447	third_party/CMakeFiles/tinyobjloader.dir/tinyobjloader/tiny_obj_loader.cc.obj	cc3766067532a1e2
-35	1121	7108888034264767	minecraft_clone/CMakeFiles/minecraft_clone.dir/atlas_generator.cpp.obj	8a773b33d95615c3
-15	1183	7108888034910014	coral_renderer/CMakeFiles/coral_renderer.dir/render_system.cpp.obj	4e458661fcddbdb1
+2197	2527	7109802872450422	minecraft_clone/minecraft_clone.exe	7da0b2f7ca2013
+54	1152	7109802860543638	minecraft_clone/CMakeFiles/minecraft_clone.dir/atlas_generator.cpp.obj	8a773b33d95615c3
+23	1237	7109802861390989	coral_renderer/CMakeFiles/coral_renderer.dir/render_system.cpp.obj	4e458661fcddbdb1
 1795	1844	7108127011119947	third_party/tinyobjloader.lib	49f56a18b656ab21
-1761	1843	7108888041167332	coral_renderer/coral_renderer.lib	22d45a2543ff0fdf
-197	1754	7108127010277003	coral_renderer/CMakeFiles/coral_renderer.dir/coral_buffer.cpp.obj	465bd8d331e5d360
-11	1387	7108180084430192	coral_renderer/CMakeFiles/coral_renderer.dir/coral_device.cpp.obj	83f3a71b3d1f619b
+29	1221	7109802861215648	coral_renderer/CMakeFiles/coral_renderer.dir/coral_buffer.cpp.obj	465bd8d331e5d360
+1858	1938	7109802868136899	coral_renderer/coral_renderer.lib	d7c728ab0ac7332
+8	1300	7109802862034180	coral_renderer/CMakeFiles/coral_renderer.dir/coral_device.cpp.obj	83f3a71b3d1f619b
 1957	2003	7108127012735014	third_party/vkbootstrap.lib	70c0e9f308a489de
-5	1312	7108888036194878	coral_renderer/CMakeFiles/coral_renderer.dir/coral_pipeline.cpp.obj	2ad3b241ec9556b6
-12	874	7108890969653142	minecraft_clone/CMakeFiles/minecraft_clone.dir/voxel_data.cpp.obj	c95e59058c69337d
-11	1158	7109043131103710	minecraft_clone/CMakeFiles/minecraft_clone.dir/main.cpp.obj	838eede5482a47f8
-9	1761	7108888040686524	coral_renderer/CMakeFiles/coral_renderer.dir/coral_mesh.cpp.obj	1dd7ba116b7c3ece
-18	1653	7109043136030757	minecraft_clone/CMakeFiles/minecraft_clone.dir/world_generator.cpp.obj	e2637c078342451e
-30	1617	7109618129221229	coral_renderer/CMakeFiles/coral_renderer.dir/coral_renderer.cpp.obj	b604da246ced7299
-52	1628	7109618129342474	coral_renderer/CMakeFiles/coral_renderer.dir/vk_job.cpp.obj	157ad77a6a79b56f
-49	1670	7109618129767304	coral_renderer/CMakeFiles/coral_renderer.dir/coral_descriptors.cpp.obj	c662391e5a2d5cb6
-27	1909	7109618132132916	coral_renderer/CMakeFiles/coral_renderer.dir/coral_gameobject.cpp.obj	e91c1daf7373c0cf
-73	1926	7109618132274095	minecraft_clone/CMakeFiles/minecraft_clone.dir/atlas_generator.cpp.obj	8a773b33d95615c3
-37	1937	7109618132416704	coral_renderer/CMakeFiles/coral_renderer.dir/coral_texture.cpp.obj	794b98674d4a018b
-46	1938	7109618132436730	coral_renderer/CMakeFiles/coral_renderer.dir/coral_frame_info.cpp.obj	fca11dbf4e05b9f0
-20	1945	7109618132507517	coral_renderer/CMakeFiles/coral_renderer.dir/coral_swapchain.cpp.obj	4b8d23051f1c25e2
-69	1999	7109618133065370	minecraft_clone/CMakeFiles/minecraft_clone.dir/voxel_renderer.cpp.obj	51e1bcde404a6192
-34	2004	7109618133100400	coral_renderer/CMakeFiles/coral_renderer.dir/render_system.cpp.obj	4e458661fcddbdb1
-41	2040	7109618133450337	coral_renderer/CMakeFiles/coral_renderer.dir/coral_buffer.cpp.obj	465bd8d331e5d360
-17	2069	7109618133759053	coral_renderer/CMakeFiles/coral_renderer.dir/coral_device.cpp.obj	83f3a71b3d1f619b
-64	2122	7109618134280264	minecraft_clone/CMakeFiles/minecraft_clone.dir/voxel_data.cpp.obj	c95e59058c69337d
-13	2133	7109618134396231	coral_renderer/CMakeFiles/coral_renderer.dir/coral_pipeline.cpp.obj	2ad3b241ec9556b6
-24	2592	7109618138972351	coral_renderer/CMakeFiles/coral_renderer.dir/coral_mesh.cpp.obj	1dd7ba116b7c3ece
-12	97	7109618238758372	coral_renderer/coral_renderer.lib	d7c728ab0ac7332
-22	1802	7109623223829730	coral_renderer/CMakeFiles/coral_renderer.dir/coral_renderer.cpp.obj	b604da246ced7299
-41	1808	7109623223899796	coral_renderer/CMakeFiles/coral_renderer.dir/coral_descriptors.cpp.obj	c662391e5a2d5cb6
-60	1874	7109623224561075	minecraft_clone/CMakeFiles/minecraft_clone.dir/atlas_generator.cpp.obj	8a773b33d95615c3
-29	1877	7109623224576087	coral_renderer/CMakeFiles/coral_renderer.dir/coral_texture.cpp.obj	794b98674d4a018b
-18	1879	7109623224626425	coral_renderer/CMakeFiles/coral_renderer.dir/coral_gameobject.cpp.obj	e91c1daf7373c0cf
-37	1930	7109623225126315	coral_renderer/CMakeFiles/coral_renderer.dir/coral_frame_info.cpp.obj	fca11dbf4e05b9f0
-11	1937	7109623225196372	coral_renderer/CMakeFiles/coral_renderer.dir/coral_swapchain.cpp.obj	4b8d23051f1c25e2
-25	1939	7109623225217059	coral_renderer/CMakeFiles/coral_renderer.dir/render_system.cpp.obj	4e458661fcddbdb1
-56	1978	7109623225597599	minecraft_clone/CMakeFiles/minecraft_clone.dir/voxel_renderer.cpp.obj	51e1bcde404a6192
-33	2026	7109623226078322	coral_renderer/CMakeFiles/coral_renderer.dir/coral_buffer.cpp.obj	465bd8d331e5d360
-8	2077	7109623226599354	coral_renderer/CMakeFiles/coral_renderer.dir/coral_device.cpp.obj	83f3a71b3d1f619b
-5	2122	7109623227014958	coral_renderer/CMakeFiles/coral_renderer.dir/coral_pipeline.cpp.obj	2ad3b241ec9556b6
-52	2126	7109623227051176	minecraft_clone/CMakeFiles/minecraft_clone.dir/voxel_data.cpp.obj	c95e59058c69337d
-15	2600	7109623231826242	coral_renderer/CMakeFiles/coral_renderer.dir/coral_mesh.cpp.obj	1dd7ba116b7c3ece
-11	85	7109623486838316	coral_renderer/coral_renderer.lib	d7c728ab0ac7332
-9	1339	7109624591090990	minecraft_clone/CMakeFiles/minecraft_clone.dir/main.cpp.obj	838eede5482a47f8
-12	1912	7109624596798168	minecraft_clone/CMakeFiles/minecraft_clone.dir/first_app.cpp.obj	e1882e4a9647373b
-15	1963	7109624597306480	minecraft_clone/CMakeFiles/minecraft_clone.dir/world_generator.cpp.obj	e2637c078342451e
-1964	2512	7109624599992383	minecraft_clone/minecraft_clone.exe	7da0b2f7ca2013
-12	1609	7109624980795334	minecraft_clone/CMakeFiles/minecraft_clone.dir/world_generator.cpp.obj	e2637c078342451e
-1609	1895	7109624981877122	minecraft_clone/minecraft_clone.exe	7da0b2f7ca2013
-4	713	7109625712751676	coral_renderer/CMakeFiles/coral_renderer.dir/vk_job.cpp.obj	157ad77a6a79b56f
-714	799	7109625713239631	coral_renderer/coral_renderer.lib	d7c728ab0ac7332
-8	1283	7109625718438135	minecraft_clone/CMakeFiles/minecraft_clone.dir/main.cpp.obj	838eede5482a47f8
-11	1855	7109625724151042	minecraft_clone/CMakeFiles/minecraft_clone.dir/first_app.cpp.obj	e1882e4a9647373b
-13	1922	7109625724796117	minecraft_clone/CMakeFiles/minecraft_clone.dir/world_generator.cpp.obj	e2637c078342451e
-1922	2227	7109625725953565	minecraft_clone/minecraft_clone.exe	7da0b2f7ca2013
-12	1753	7109628223645470	minecraft_clone/CMakeFiles/minecraft_clone.dir/world_generator.cpp.obj	e2637c078342451e
-1753	2078	7109628224874506	minecraft_clone/minecraft_clone.exe	7da0b2f7ca2013
-11	1063	7109628355205543	minecraft_clone/CMakeFiles/minecraft_clone.dir/main.cpp.obj	838eede5482a47f8
-15	1608	7109628360657029	minecraft_clone/CMakeFiles/minecraft_clone.dir/first_app.cpp.obj	e1882e4a9647373b
-17	1652	7109628361083229	minecraft_clone/CMakeFiles/minecraft_clone.dir/world_generator.cpp.obj	e2637c078342451e
-1652	2006	7109628362706644	minecraft_clone/minecraft_clone.exe	7da0b2f7ca2013
-11	1708	7109630386160624	minecraft_clone/CMakeFiles/minecraft_clone.dir/world_generator.cpp.obj	e2637c078342451e
-1708	2000	7109630387290977	minecraft_clone/minecraft_clone.exe	7da0b2f7ca2013
-11	1732	7109630917367041	minecraft_clone/CMakeFiles/minecraft_clone.dir/world_generator.cpp.obj	e2637c078342451e
-1732	2036	7109630918550858	minecraft_clone/minecraft_clone.exe	7da0b2f7ca2013
-4	1084	7109632062235875	minecraft_clone/CMakeFiles/minecraft_clone.dir/main.cpp.obj	838eede5482a47f8
-8	1647	7109632067849093	minecraft_clone/CMakeFiles/minecraft_clone.dir/first_app.cpp.obj	e1882e4a9647373b
-11	1670	7109632068074718	minecraft_clone/CMakeFiles/minecraft_clone.dir/world_generator.cpp.obj	e2637c078342451e
-1670	1965	7109632069199534	minecraft_clone/minecraft_clone.exe	7da0b2f7ca2013
-4	1652	7109632605142992	minecraft_clone/CMakeFiles/minecraft_clone.dir/main.cpp.obj	838eede5482a47f8
-8	2363	7109632612253381	minecraft_clone/CMakeFiles/minecraft_clone.dir/first_app.cpp.obj	e1882e4a9647373b
-11	2434	7109632612957442	minecraft_clone/CMakeFiles/minecraft_clone.dir/world_generator.cpp.obj	e2637c078342451e
-2434	2832	7109632614778721	minecraft_clone/minecraft_clone.exe	7da0b2f7ca2013
-4	1610	7109633231269683	minecraft_clone/CMakeFiles/minecraft_clone.dir/world_generator.cpp.obj	e2637c078342451e
-1610	1898	7109633232367304	minecraft_clone/minecraft_clone.exe	7da0b2f7ca2013
-12	1750	7109634509065884	minecraft_clone/CMakeFiles/minecraft_clone.dir/world_generator.cpp.obj	e2637c078342451e
-1751	2055	7109634510251727	minecraft_clone/minecraft_clone.exe	7da0b2f7ca2013
-4	1628	7109635410940929	minecraft_clone/CMakeFiles/minecraft_clone.dir/world_generator.cpp.obj	e2637c078342451e
-1628	1930	7109635412095548	minecraft_clone/minecraft_clone.exe	7da0b2f7ca2013
-11	1736	7109635761661422	minecraft_clone/CMakeFiles/minecraft_clone.dir/world_generator.cpp.obj	e2637c078342451e
-1736	2048	7109635762919185	minecraft_clone/minecraft_clone.exe	7da0b2f7ca2013
-11	1609	7109640110650257	minecraft_clone/CMakeFiles/minecraft_clone.dir/world_generator.cpp.obj	e2637c078342451e
-1609	1905	7109640111819148	minecraft_clone/minecraft_clone.exe	7da0b2f7ca2013
-21	1208	7109694410777507	coral_renderer/CMakeFiles/coral_renderer.dir/coral_renderer.cpp.obj	b604da246ced7299
-39	1286	7109694411566797	coral_renderer/CMakeFiles/coral_renderer.dir/vk_job.cpp.obj	157ad77a6a79b56f
-36	1302	7109694411717577	coral_renderer/CMakeFiles/coral_renderer.dir/coral_descriptors.cpp.obj	c662391e5a2d5cb6
-33	1383	7109694412537058	coral_renderer/CMakeFiles/coral_renderer.dir/coral_frame_info.cpp.obj	fca11dbf4e05b9f0
-54	1472	7109694413411028	minecraft_clone/CMakeFiles/minecraft_clone.dir/atlas_generator.cpp.obj	8a773b33d95615c3
-18	1482	7109694413511799	coral_renderer/CMakeFiles/coral_renderer.dir/coral_gameobject.cpp.obj	e91c1daf7373c0cf
-12	1483	7109694413506801	coral_renderer/CMakeFiles/coral_renderer.dir/coral_swapchain.cpp.obj	4b8d23051f1c25e2
-51	1498	7109694413658051	minecraft_clone/CMakeFiles/minecraft_clone.dir/voxel_renderer.cpp.obj	51e1bcde404a6192
-27	1520	7109694413878808	coral_renderer/CMakeFiles/coral_renderer.dir/coral_texture.cpp.obj	794b98674d4a018b
-30	1536	7109694414049846	coral_renderer/CMakeFiles/coral_renderer.dir/coral_buffer.cpp.obj	465bd8d331e5d360
-24	1553	7109694414243418	coral_renderer/CMakeFiles/coral_renderer.dir/render_system.cpp.obj	4e458661fcddbdb1
-48	1636	7109694415074873	minecraft_clone/CMakeFiles/minecraft_clone.dir/voxel_data.cpp.obj	c95e59058c69337d
-8	1639	7109694415099902	coral_renderer/CMakeFiles/coral_renderer.dir/coral_device.cpp.obj	83f3a71b3d1f619b
-5	1673	7109694415447865	coral_renderer/CMakeFiles/coral_renderer.dir/coral_pipeline.cpp.obj	2ad3b241ec9556b6
-42	1829	7109694417012739	minecraft_clone/CMakeFiles/minecraft_clone.dir/main.cpp.obj	838eede5482a47f8
-15	2124	7109694419947442	coral_renderer/CMakeFiles/coral_renderer.dir/coral_mesh.cpp.obj	1dd7ba116b7c3ece
-45	2375	7109694422459471	minecraft_clone/CMakeFiles/minecraft_clone.dir/first_app.cpp.obj	e1882e4a9647373b
-12	92	7109694779236214	coral_renderer/coral_renderer.lib	d7c728ab0ac7332
-16	1689	7109694795502451	minecraft_clone/CMakeFiles/minecraft_clone.dir/world_generator.cpp.obj	e2637c078342451e
-1690	2051	7109694797101468	minecraft_clone/minecraft_clone.exe	7da0b2f7ca2013
+4	1360	7109802862634017	coral_renderer/CMakeFiles/coral_renderer.dir/coral_pipeline.cpp.obj	2ad3b241ec9556b6
+47	1283	7109802861865546	minecraft_clone/CMakeFiles/minecraft_clone.dir/voxel_data.cpp.obj	c95e59058c69337d
+41	1519	7109802864232687	minecraft_clone/CMakeFiles/minecraft_clone.dir/main.cpp.obj	838eede5482a47f8
+14	1858	7109802867604362	coral_renderer/CMakeFiles/coral_renderer.dir/coral_mesh.cpp.obj	1dd7ba116b7c3ece
+57	2197	7109802871008103	minecraft_clone/CMakeFiles/minecraft_clone.dir/world_generator.cpp.obj	e2637c078342451e
+38	915	7109802858181121	coral_renderer/CMakeFiles/coral_renderer.dir/vk_job.cpp.obj	157ad77a6a79b56f
+19	1338	7109826418133296	minecraft_clone/CMakeFiles/minecraft_clone.dir/main.cpp.obj	838eede5482a47f8
+23	1892	7109826423661042	minecraft_clone/CMakeFiles/minecraft_clone.dir/first_app.cpp.obj	e1882e4a9647373b
+26	1953	7109826424259727	minecraft_clone/CMakeFiles/minecraft_clone.dir/world_generator.cpp.obj	e2637c078342451e
+1953	2293	7109826425432016	minecraft_clone/minecraft_clone.exe	7da0b2f7ca2013
+4	1650	7109827600284349	minecraft_clone/CMakeFiles/minecraft_clone.dir/world_generator.cpp.obj	e2637c078342451e
+1650	1941	7109827601375596	minecraft_clone/minecraft_clone.exe	7da0b2f7ca2013
+11	1671	7109828362013248	minecraft_clone/CMakeFiles/minecraft_clone.dir/world_generator.cpp.obj	e2637c078342451e
+1672	1969	7109828363126827	minecraft_clone/minecraft_clone.exe	7da0b2f7ca2013
+4	1666	7109829506537585	minecraft_clone/CMakeFiles/minecraft_clone.dir/world_generator.cpp.obj	e2637c078342451e
+1666	1966	7109829507711934	minecraft_clone/minecraft_clone.exe	7da0b2f7ca2013
+12	1658	7109830020352147	minecraft_clone/CMakeFiles/minecraft_clone.dir/world_generator.cpp.obj	e2637c078342451e
+1658	1966	7109830021568032	minecraft_clone/minecraft_clone.exe	7da0b2f7ca2013
+11	1661	7109830597883041	minecraft_clone/CMakeFiles/minecraft_clone.dir/world_generator.cpp.obj	e2637c078342451e
+1661	1953	7109830599004257	minecraft_clone/minecraft_clone.exe	7da0b2f7ca2013
+4	1555	7109831234025496	minecraft_clone/CMakeFiles/minecraft_clone.dir/first_app.cpp.obj	e1882e4a9647373b
+1555	1838	7109831235075267	minecraft_clone/minecraft_clone.exe	7da0b2f7ca2013
+13	1088	7109833775334041	minecraft_clone/CMakeFiles/minecraft_clone.dir/main.cpp.obj	838eede5482a47f8
+16	1640	7109833780844317	minecraft_clone/CMakeFiles/minecraft_clone.dir/first_app.cpp.obj	e1882e4a9647373b
+4	1612	7109834310289085	minecraft_clone/CMakeFiles/minecraft_clone.dir/world_generator.cpp.obj	e2637c078342451e
+1613	1964	7109834311919242	minecraft_clone/minecraft_clone.exe	7da0b2f7ca2013
+13	1660	7109834625790725	minecraft_clone/CMakeFiles/minecraft_clone.dir/world_generator.cpp.obj	e2637c078342451e
+1660	1969	7109834626968661	minecraft_clone/minecraft_clone.exe	7da0b2f7ca2013
+4	1660	7109834909795016	minecraft_clone/CMakeFiles/minecraft_clone.dir/world_generator.cpp.obj	e2637c078342451e
+1661	1958	7109834910946979	minecraft_clone/minecraft_clone.exe	7da0b2f7ca2013
+4	1656	7109835569024536	minecraft_clone/CMakeFiles/minecraft_clone.dir/world_generator.cpp.obj	e2637c078342451e
+1656	1956	7109835570169027	minecraft_clone/minecraft_clone.exe	7da0b2f7ca2013
+12	1110	7109836601056332	minecraft_clone/CMakeFiles/minecraft_clone.dir/main.cpp.obj	838eede5482a47f8
+16	1660	7109836606548865	minecraft_clone/CMakeFiles/minecraft_clone.dir/first_app.cpp.obj	e1882e4a9647373b
+19	1717	7109836607126695	minecraft_clone/CMakeFiles/minecraft_clone.dir/world_generator.cpp.obj	e2637c078342451e
+1717	2004	7109836608218057	minecraft_clone/minecraft_clone.exe	7da0b2f7ca2013
+4	1643	7109836917692095	minecraft_clone/CMakeFiles/minecraft_clone.dir/world_generator.cpp.obj	e2637c078342451e
+1644	1949	7109836918849485	minecraft_clone/minecraft_clone.exe	7da0b2f7ca2013
+4	774	7109839648459564	minecraft_clone/CMakeFiles/minecraft_clone.dir/voxel_renderer.cpp.obj	51e1bcde404a6192
+775	1052	7109839649411239	minecraft_clone/minecraft_clone.exe	7da0b2f7ca2013
+4	1642	7109840369647667	minecraft_clone/CMakeFiles/minecraft_clone.dir/world_generator.cpp.obj	e2637c078342451e
+1642	1937	7109840370782092	minecraft_clone/minecraft_clone.exe	7da0b2f7ca2013
+4	1072	7109841105869306	minecraft_clone/CMakeFiles/minecraft_clone.dir/main.cpp.obj	838eede5482a47f8
+8	1622	7109841111357205	minecraft_clone/CMakeFiles/minecraft_clone.dir/first_app.cpp.obj	e1882e4a9647373b
+11	1687	7109841112007067	minecraft_clone/CMakeFiles/minecraft_clone.dir/world_generator.cpp.obj	e2637c078342451e
+1687	2059	7109841113685560	minecraft_clone/minecraft_clone.exe	7da0b2f7ca2013
+11	1680	7109841417416925	minecraft_clone/CMakeFiles/minecraft_clone.dir/world_generator.cpp.obj	e2637c078342451e
+1680	1986	7109841418616874	minecraft_clone/minecraft_clone.exe	7da0b2f7ca2013
+4	918	7109844441998601	minecraft_clone/CMakeFiles/minecraft_clone.dir/voxel_renderer.cpp.obj	51e1bcde404a6192
+8	1681	7109844449614872	minecraft_clone/CMakeFiles/minecraft_clone.dir/world_generator.cpp.obj	e2637c078342451e
+1681	1971	7109844450734386	minecraft_clone/minecraft_clone.exe	7da0b2f7ca2013
+12	1734	7109846260431551	minecraft_clone/CMakeFiles/minecraft_clone.dir/world_generator.cpp.obj	e2637c078342451e
+1734	2029	7109846261572664	minecraft_clone/minecraft_clone.exe	7da0b2f7ca2013
+4	1319	7109863525592379	minecraft_clone/CMakeFiles/minecraft_clone.dir/main.cpp.obj	838eede5482a47f8
+8	1870	7109863531088988	minecraft_clone/CMakeFiles/minecraft_clone.dir/first_app.cpp.obj	e1882e4a9647373b
+11	1935	7109863531733879	minecraft_clone/CMakeFiles/minecraft_clone.dir/world_generator.cpp.obj	e2637c078342451e
+1935	2278	7109863532955699	minecraft_clone/minecraft_clone.exe	7da0b2f7ca2013
+5	1053	7109864553332331	minecraft_clone/CMakeFiles/minecraft_clone.dir/main.cpp.obj	838eede5482a47f8
+8	1619	7109864558975113	minecraft_clone/CMakeFiles/minecraft_clone.dir/first_app.cpp.obj	e1882e4a9647373b
+11	1677	7109864559557949	minecraft_clone/CMakeFiles/minecraft_clone.dir/world_generator.cpp.obj	e2637c078342451e
+1677	2045	7109864561237569	minecraft_clone/minecraft_clone.exe	7da0b2f7ca2013
+13	1447	7109867241098294	coral_renderer/CMakeFiles/coral_renderer.dir/coral_mesh.cpp.obj	1dd7ba116b7c3ece
+1448	1525	7109867241606185	coral_renderer/coral_renderer.lib	d7c728ab0ac7332
+1525	1837	7109867243085973	minecraft_clone/minecraft_clone.exe	7da0b2f7ca2013
+5	1613	7109868899521809	minecraft_clone/CMakeFiles/minecraft_clone.dir/world_generator.cpp.obj	e2637c078342451e
+1613	1898	7109868900586082	minecraft_clone/minecraft_clone.exe	7da0b2f7ca2013
+12	1068	7109871096107034	minecraft_clone/CMakeFiles/minecraft_clone.dir/main.cpp.obj	838eede5482a47f8
+16	1617	7109871101595538	minecraft_clone/CMakeFiles/minecraft_clone.dir/first_app.cpp.obj	e1882e4a9647373b
+19	1672	7109871102142306	minecraft_clone/CMakeFiles/minecraft_clone.dir/world_generator.cpp.obj	e2637c078342451e
+1672	1962	7109871103244283	minecraft_clone/minecraft_clone.exe	7da0b2f7ca2013
+4	1077	7109872038972027	minecraft_clone/CMakeFiles/minecraft_clone.dir/main.cpp.obj	838eede5482a47f8
+8	1638	7109872044570167	minecraft_clone/CMakeFiles/minecraft_clone.dir/first_app.cpp.obj	e1882e4a9647373b
+11	1704	7109872045229070	minecraft_clone/CMakeFiles/minecraft_clone.dir/world_generator.cpp.obj	e2637c078342451e
+1704	2069	7109872046889765	minecraft_clone/minecraft_clone.exe	7da0b2f7ca2013
+4	1093	7109872358615747	minecraft_clone/CMakeFiles/minecraft_clone.dir/main.cpp.obj	838eede5482a47f8
+7	1667	7109872364353175	minecraft_clone/CMakeFiles/minecraft_clone.dir/first_app.cpp.obj	e1882e4a9647373b
+10	1722	7109872364899778	minecraft_clone/CMakeFiles/minecraft_clone.dir/world_generator.cpp.obj	e2637c078342451e
+1722	2033	7109872366082299	minecraft_clone/minecraft_clone.exe	7da0b2f7ca2013
+5	1071	7109873951884032	minecraft_clone/CMakeFiles/minecraft_clone.dir/main.cpp.obj	838eede5482a47f8
+8	1631	7109873957471523	minecraft_clone/CMakeFiles/minecraft_clone.dir/first_app.cpp.obj	e1882e4a9647373b
+11	1688	7109873958042067	minecraft_clone/CMakeFiles/minecraft_clone.dir/world_generator.cpp.obj	e2637c078342451e
+1688	2054	7109873959726397	minecraft_clone/minecraft_clone.exe	7da0b2f7ca2013
+18	1080	7109879093005752	minecraft_clone/CMakeFiles/minecraft_clone.dir/main.cpp.obj	838eede5482a47f8
+21	1661	7109879098809401	minecraft_clone/CMakeFiles/minecraft_clone.dir/first_app.cpp.obj	e1882e4a9647373b
+25	1683	7109879099017846	minecraft_clone/CMakeFiles/minecraft_clone.dir/world_generator.cpp.obj	e2637c078342451e
+1683	2071	7109879100284573	minecraft_clone/minecraft_clone.exe	7da0b2f7ca2013
+4	1679	7109880098668106	minecraft_clone/CMakeFiles/minecraft_clone.dir/world_generator.cpp.obj	e2637c078342451e
+1679	1989	7109880099881859	minecraft_clone/minecraft_clone.exe	7da0b2f7ca2013
+13	790	7109880718160130	minecraft_clone/CMakeFiles/minecraft_clone.dir/voxel_renderer.cpp.obj	51e1bcde404a6192
+791	1067	7109880719097589	minecraft_clone/minecraft_clone.exe	7da0b2f7ca2013
+13	1254	7109881333770812	minecraft_clone/CMakeFiles/minecraft_clone.dir/main.cpp.obj	838eede5482a47f8
+16	1938	7109881340613911	minecraft_clone/CMakeFiles/minecraft_clone.dir/first_app.cpp.obj	e1882e4a9647373b
+19	1999	7109881341217274	minecraft_clone/CMakeFiles/minecraft_clone.dir/world_generator.cpp.obj	e2637c078342451e
+1999	2381	7109881343100451	minecraft_clone/minecraft_clone.exe	7da0b2f7ca2013
+11	1078	7109881658942679	minecraft_clone/CMakeFiles/minecraft_clone.dir/main.cpp.obj	838eede5482a47f8
+14	1616	7109881664308702	minecraft_clone/CMakeFiles/minecraft_clone.dir/first_app.cpp.obj	e1882e4a9647373b
+11	1059	7109881722293081	minecraft_clone/CMakeFiles/minecraft_clone.dir/main.cpp.obj	838eede5482a47f8
+14	1610	7109881727796954	minecraft_clone/CMakeFiles/minecraft_clone.dir/first_app.cpp.obj	e1882e4a9647373b
+17	1669	7109881728372895	minecraft_clone/CMakeFiles/minecraft_clone.dir/world_generator.cpp.obj	e2637c078342451e
+1669	1955	7109881729471583	minecraft_clone/minecraft_clone.exe	7da0b2f7ca2013
+4	1180	7109882295576481	minecraft_clone/CMakeFiles/minecraft_clone.dir/main.cpp.obj	838eede5482a47f8
+8	1618	7109882299956153	minecraft_clone/CMakeFiles/minecraft_clone.dir/first_app.cpp.obj	e1882e4a9647373b
+11	1689	7109882300658167	minecraft_clone/CMakeFiles/minecraft_clone.dir/world_generator.cpp.obj	e2637c078342451e
+1689	2036	7109882302322493	minecraft_clone/minecraft_clone.exe	7da0b2f7ca2013
+15	1211	7109884002268537	coral_renderer/CMakeFiles/coral_renderer.dir/coral_buffer.cpp.obj	465bd8d331e5d360
+1211	1286	7109884002739796	coral_renderer/coral_renderer.lib	d7c728ab0ac7332
+1287	1569	7109884004039833	minecraft_clone/minecraft_clone.exe	7da0b2f7ca2013
+12	960	7109884522089968	coral_renderer/CMakeFiles/coral_renderer.dir/coral_buffer.cpp.obj	465bd8d331e5d360
+960	1035	7109884522567304	coral_renderer/coral_renderer.lib	d7c728ab0ac7332
+1035	1332	7109884523871280	minecraft_clone/minecraft_clone.exe	7da0b2f7ca2013

BIN
out/build/x64-Debug/coral_renderer/CMakeFiles/coral_renderer.dir/coral_renderer.pdb


BIN
out/build/x64-Debug/minecraft_clone/CMakeFiles/minecraft_clone.dir/vc140.pdb


BIN
out/build/x64-Debug/minecraft_clone/minecraft_clone.ilk


BIN
out/build/x64-Debug/minecraft_clone/minecraft_clone.pdb


BIN
out/build/x64-Release/.ninja_deps


+ 20 - 0
out/build/x64-Release/.ninja_log

@@ -87,3 +87,23 @@
 1712	2038	7109637606522349	minecraft_clone/minecraft_clone.exe	506eec639b450a47
 11	1671	7109640000657269	minecraft_clone/CMakeFiles/minecraft_clone.dir/world_generator.cpp.obj	3c460ce3743f64dd
 1671	1996	7109640002381460	minecraft_clone/minecraft_clone.exe	506eec639b450a47
+54	964	7109881955625750	coral_renderer/CMakeFiles/coral_renderer.dir/vk_job.cpp.obj	de29ad0ce7d65e17
+36	982	7109881955815786	coral_renderer/CMakeFiles/coral_renderer.dir/coral_renderer.cpp.obj	68d39b4a661c7765
+51	1056	7109881956547297	coral_renderer/CMakeFiles/coral_renderer.dir/coral_descriptors.cpp.obj	58c4d364253128d
+48	1239	7109881958346534	coral_renderer/CMakeFiles/coral_renderer.dir/coral_frame_info.cpp.obj	c44799d01941a134
+33	1268	7109881958647920	coral_renderer/CMakeFiles/coral_renderer.dir/coral_gameobject.cpp.obj	9e9fbf41d3abfc6c
+69	1290	7109881958874750	minecraft_clone/CMakeFiles/minecraft_clone.dir/atlas_generator.cpp.obj	63a7b03febd0c3e3
+26	1330	7109881959256411	coral_renderer/CMakeFiles/coral_renderer.dir/coral_swapchain.cpp.obj	c20c8f0603546fd6
+66	1384	7109881959806953	minecraft_clone/CMakeFiles/minecraft_clone.dir/voxel_renderer.cpp.obj	ea894ddbb51e986f
+39	1404	7109881959988348	coral_renderer/CMakeFiles/coral_renderer.dir/render_system.cpp.obj	9f39a3ad561683f6
+42	1521	7109881961127818	coral_renderer/CMakeFiles/coral_renderer.dir/coral_texture.cpp.obj	22d76ed5186f4695
+19	1543	7109881961404167	coral_renderer/CMakeFiles/coral_renderer.dir/coral_pipeline.cpp.obj	5f8313c86bb83823
+63	1627	7109881962263725	minecraft_clone/CMakeFiles/minecraft_clone.dir/voxel_data.cpp.obj	8a7daf6159c2fa53
+23	1663	7109881962620411	coral_renderer/CMakeFiles/coral_renderer.dir/coral_device.cpp.obj	5053ccbaabbd5e9d
+57	1726	7109881963273354	minecraft_clone/CMakeFiles/minecraft_clone.dir/main.cpp.obj	ca275f79d188cf8f
+45	1797	7109881963966609	coral_renderer/CMakeFiles/coral_renderer.dir/coral_buffer.cpp.obj	77b1cf6059c01a73
+60	2368	7109881969663354	minecraft_clone/CMakeFiles/minecraft_clone.dir/first_app.cpp.obj	3a8e8f25ac5a3595
+72	2498	7109881970967087	minecraft_clone/CMakeFiles/minecraft_clone.dir/world_generator.cpp.obj	3c460ce3743f64dd
+30	2670	7109881972606659	coral_renderer/CMakeFiles/coral_renderer.dir/coral_mesh.cpp.obj	7f5e366fb42bc0ab
+2670	2721	7109881973109978	coral_renderer/coral_renderer.lib	d7c728ab0ac7332
+2721	3046	7109881974967150	minecraft_clone/minecraft_clone.exe	506eec639b450a47