Commit Graph

21 Commits (f526e9b15210e93d9da3a5a1418deef9847abbae)

Author SHA1 Message Date
EmaMaker 1bea6c835c separate mesh and generation threads, with priority queues for input
Allows blockpicking while the world is generating, without hiccups
2023-07-30 12:17:51 +02:00
EmaMaker 950c43b163 refactor chunk meshing routine 2023-07-19 12:56:55 +02:00
EmaMaker e7fc35ec47 create chunk mesh as cloud of points 2023-07-19 12:42:23 +02:00
EmaMaker bff9e6ad4f move normal data to own array 2023-07-18 21:18:12 +02:00
EmaMaker 4ada24e0d5 chunkmesher: check for NULLBLK to avoid holes at chunkborders 2023-07-18 20:02:37 +02:00
EmaMaker 393e5ca9b2 chunkmesher: seamless chunkborders by checking neighbouring chunks 2023-06-01 21:31:18 +02:00
EmaMaker 105fff0029 write number of triangles to Chunk only when sending to GPU
previously the current number of vertices was stored in the chunk, and the same variable got later reused for the number of triangles. This modification increases clarity and avoid glitches when blockpicking
2023-05-26 23:07:04 +02:00
EmaMaker e225babb0c chunkmesher: external queue of chunk mesh data
instead of every chunk having its own queue

This decreases usage of ram
2023-05-20 22:15:32 +02:00
EmaMaker 78e3bc11e6 initial update and render with concurrent DS 2023-05-20 22:15:15 +02:00
EmaMaker 1a4412c5b1 renderer: initial texture support via ArrayTextures
totally stolen textures from minecraft
2023-04-10 00:30:28 +02:00
EmaMaker 2b1991ff2b separate rendering in a dedicated file 2023-04-10 00:30:24 +02:00
emamaker a039ced6cf gamma correction 2023-03-27 21:10:45 +02:00
EmaMaker 44b027c3e2 Blinn-Phong lighting 2023-03-27 21:10:45 +02:00
EmaMaker b4dd3be584 chunkmesher: push vertices normals to GPU 2023-03-27 21:10:38 +02:00
EmaMaker 8584d2e974 general code cleanup 2023-03-25 16:28:12 +01:00
EmaMaker 19cd81b9fb chunkmesher/manager: move sending data to gpu in dedicated function 2023-03-23 16:19:25 +01:00
EmaMaker ba35689c6c chunkmesher: also cleanup colors at the start 2023-03-13 12:56:10 +01:00
EmaMaker f7eb04a5f1 use unique_ptr when dumping intervalmap to array 2023-03-12 19:24:09 +01:00
EmaMaker 716056b8c5 experimental multithreaded generation and meshing 2023-03-03 21:33:11 +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