Commit Graph

23 Commits (bc2225e0f34b4ab7f94f3dc518f84b3965522f32)

Author SHA1 Message Date
EmaMaker f3d89a2e5a chunk release resources on destruction 2023-03-12 22:14:28 +01:00
EmaMaker ddd047e82f interval map: clean map on destruction 2023-03-12 22:14:05 +01:00
EmaMaker f7eb04a5f1 use unique_ptr when dumping intervalmap to array 2023-03-12 19:24:09 +01:00
EmaMaker 383fb60686 proper frustum culling 2023-03-12 19:24:05 +01:00
EmaMaker e69c58abd3 gracefully shut down secondary threads 2023-03-12 12:43:41 +01:00
EmaMaker 716056b8c5 experimental multithreaded generation and meshing 2023-03-03 21:33:11 +01:00
EmaMaker b1e420f564 camera: allow to strafe up and down 2023-02-23 19:07:17 +01:00
EmaMaker 0baa2eb649 memory: use proper delete[] 2023-02-22 21:54:15 +01:00
EmaMaker c547d11cd5 chunks: drop per-chunk chunkmesh
Use a single mesher. This, on top of the previous commits, shaves off another 20MB of total RAM usage, using a total of about 120MB for a standard world (16 chunk size, 8 render distance), of which 22 in heap
2023-02-12 14:36:59 +01:00
EmaMaker 9f82a17bd2 chunkmesh: do not create shader for every object 2023-02-12 12:18:30 +01:00
EmaMaker 2e0ed7b057 clear mesh data after sending to gpu 2023-02-11 22:26:34 +01:00
emamaker 1ccbf8b157 rudimentary frustum culling
TODO: maybe manually extract planes and check against those
2022-12-01 23:45:05 +01:00
EmaMaker 8116791dcf use hilbert curve instead of flatten array
Using valgrind heap memory tracker, this does not seem to bring any advantage on heap memory usage. To be tested more in depth
2022-12-01 23:44:47 +01:00
EmaMaker b724640384 chunkgen: take advantage of intervalmap structure
brings down heap memory usage to about 67% of that using arrays (valgrind, tested on standard terrain with renderdistance at 8)
2022-12-01 23:44:03 +01:00
EmaMaker 8eb15f4725 chunk: migration to intervalmaps 2022-12-01 23:44:03 +01:00
EmaMaker 5dd924abf7 implement intervalmaps 2022-12-01 23:44:03 +01:00
emamaker 2418c481bd camera: wider and further view 2022-12-01 23:44:03 +01:00
emamaker 9b133181ba chunkmesh: cleanup 2022-12-01 23:44:03 +01:00
EmaMaker c8f429564c chunkmgr: properly dispose allocated chunk memory 2022-12-01 23:44:03 +01:00
EmaMaker a5ddb0e37f chunkmgr: avoid call of chunkmesh default ctor 2022-12-01 23:44:03 +01:00
EmaMaker 9ec4e42495 chunkmesh: resolve bug in mesh index counting 2022-11-10 23:29:34 +01:00
EmaMaker 768312a9dd colors and fake lightning 2022-11-10 22:47:06 +01:00
EmaMaker 3a649836e5 initial commit
initial port of https::/git.emamaker/voxel-test-intervalmaps to c++ and opengl
2022-11-10 19:53:52 +01:00