Seamless chunk borders #4

Merged
EmaMaker merged 3 commits from chunkborders into main 2023-06-01 21:37:19 +02:00

Removes walls between chunks at chunk borders, looks into neighbouring chunks for data.
Adds ability to get a block at arbitrary position in the world.

Paves the way for Fast Flood Fill Lighting as in SeaOfAndromeda and possibily for multiple concurrent mesh threads

Removes walls between chunks at chunk borders, looks into neighbouring chunks for data. Adds ability to get a block at arbitrary position in the world. Paves the way for Fast Flood Fill Lighting as in [SeaOfAndromeda](https://web.archive.org/web/20210622035752/https://www.seedofandromeda.com/blogs/29-fast-flood-fill-lighting-in-a-blocky-voxel-game-pt-1) and possibily for multiple concurrent mesh threads
EmaMaker added 3 commits 2023-06-01 21:36:39 +02:00
0ebbb897dc chunk: handle special cases for getBlocks
Returning Block::AIR when chunk is not yet generated (CHUNK_STATE_GENERATED set to false) is also a way to avoid thread-unsafe concurrent
access to the IntervalMaps data structure, since CHUNK_STATE_GENERATED is set to false before
generating the Chunk and set again to true after generation is complete
f798575cac chunkmanager: add function getBlockAtPos, returns block at world pos
Returns Block::NULLBLK only to signal an invalid position
EmaMaker merged commit 73f38e5d2f into main 2023-06-01 21:37:18 +02:00
Sign in to join this conversation.
No reviewers
No Label
No Milestone
No project
No Assignees
1 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: EmaMaker/voxel-engine#4
There is no content yet.