diff options
| author | Aaditya Dhruv <[email protected]> | 2026-01-30 00:17:39 -0600 |
|---|---|---|
| committer | Aaditya Dhruv <[email protected]> | 2026-01-30 00:17:39 -0600 |
| commit | 8150b91d4076d15f8df5cd66acc1b8076a2ee1a9 (patch) | |
| tree | fe74fd18e409a215ed05074efe29b3b0a465bfd5 /src/block.h | |
| parent | 3729fe29b862a8b1d58967c45942535e7087b73b (diff) | |
Update chunk rendering, improve chunk loading
- On world_init, LOAD_CHUNK amount of chunks are preloaded
- Chunks are loaded around the player's current chunk, in a square
shape. The size of the shape is controlled by CHUNK_DISTANCE
- Allow chunks struct to be independent of a position. We load a chunk
TO a position in the world chunk grid (x, y). This allows us to "wrap"
chunks, so we have an endless world, but we are really just wrapping
around
Diffstat (limited to 'src/block.h')
| -rw-r--r-- | src/block.h | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/src/block.h b/src/block.h index 1da88ac..b19265d 100644 --- a/src/block.h +++ b/src/block.h @@ -12,6 +12,15 @@ struct block { mat4 model; float angle; }; +/** + * Create a "block" object, which is the building blocks of this world. + * Blocks belong in chunks, and chunks belong in worlds. vec3 pos here is the coordinates of the block in WORLD space. + * However, a common method to render these blocks will be that the chunk will set the coordinates in "chunk space", and + * on a chunk_load, we will translate the blocks to wherever the chunk is loaded + * + * + */ int block_init(vec3 pos, struct block* blk); int block_draw(struct block* blk, struct shader* shader); void block_debug(struct block* blk); +void block_update(struct block* blk); |
