Commit Graph

9 Commits (a96c09df4b95c201da9ea40d008b1d7b238314f8)

Author SHA1 Message Date
EmaMaker a96c09df4b try new approach based on interval maps
they resolve the problems and the redundancies of interval trees, while giving a serius memory usage benefit (20% of the one used by interval trees in test scene)

test scene is a world made of a cube of sides RENDER_DISTANCE*2 with player at the center
2022-08-16 21:45:26 +02:00
EmaMaker f8a31093cd chunkrenderer: generate only one mesh per chunk 2022-08-11 23:30:59 +02:00
EmaMaker 61838a93b2 chunk: handle setting blocks via Chunk
Instead of directly calling IntervalTree. This allows clamping indices to avoid out of bounds when converting to and from an array
2022-08-11 18:50:18 +02:00
EmaMaker c18de53919 add .gitignore
update .gitignore
2022-08-11 16:35:01 +02:00
EmaMaker 5bff4bc367 chunk: handle intervaltree<->array conversion 2022-08-11 16:34:12 +02:00
EmaMaker 9c6cf30120 intervaltree: support for single-unit intervals
The structure is still not perfect and needs revising in some edge cases where unneeded child nodes are left instead of being added in the parent
2022-08-11 16:05:56 +02:00
EmaMaker 83beccc48c chunkrenderer: greedy meshing like 0fps/roboleary
Also includes face culling to avoid rendering faces that are hidden by other blocks
2022-08-11 15:26:49 +02:00
EmaMaker 8fb2af285c chunk: change generation tests 2022-08-11 15:01:28 +02:00
EmaMaker 5dc4978f48 initial commit
working interval trees and stupid meshing
2022-08-08 23:37:16 +02:00