55 Commits

Author SHA1 Message Date
IntegratedQuantum
5ca4ab6a9d Fake reflections and transparency (both absorptive and regular transparency are possible) 2023-07-16 14:09:18 +02:00
IntegratedQuantum
7cb347ce3c Update zig to 0.11.0-dev.3990+f2d433a19 2023-07-14 11:24:18 +02:00
IntegratedQuantum
10b4431964 Some performance improvements.
Less allocations.
Work around another of Zig's performance bugs by removing a work-around for an older, now fixed performance bug.
2023-07-07 12:16:55 +02:00
IntegratedQuantum
faa70b5328 Play biome specific music. (And the fading isn't bugged) 2023-07-02 22:52:52 +02:00
IntegratedQuantum
7c3d3462c9 Update zig version to 0.11.0-dev.3879+5804f3f75
Note: Requires running `zig fmt` in the mach subfolder to work.

Zig did some weird stuff there. Partially helpful, partially annoying. But it made me clean up some old code, so that's a good thing I guess.
2023-06-28 19:54:52 +02:00
IntegratedQuantum
b0a358f63c Update zig version to 0.11.0-dev.3655+a2f54fce5 2023-06-17 11:04:01 +02:00
IntegratedQuantum
e2280c2b63 Update zig version to 0.11.0-dev.3380+7e0a02ee2
Zig got worse at copying unnecessary stuff onto the stack :(
2023-06-06 13:38:38 +02:00
IntegratedQuantum
cfc7b903e6 Fix a couple smaller TODOs. 2023-05-26 22:36:34 +02:00
IntegratedQuantum
83f4503390 Update zig to 0.11.0-dev.3041+8e9c9f6fd
Featuring `@memset`, `@memcpy`, multi-argument `@min`/`@max` and annoyingly #15644
2023-05-10 13:55:20 +02:00
IntegratedQuantum
fc12bd5a63 Add terrain generation. 2023-05-01 18:35:45 +02:00
IntegratedQuantum
cc97c0d296 Add a ServerWorld which at the moment generates empty chunks. 2023-04-13 21:04:46 +02:00
IntegratedQuantum
60f0c5d3af Add support for menu background scenes (but no default scene yet). 2023-04-04 11:30:02 +02:00
IntegratedQuantum
1e7e8a7a1a Avoid creating a GeneralPurposeAllocator for every tiny thing.
Using a global gpa allocator seems like the best solution until there is a performance problem, and in that case a custom allocator is better anyways.
2023-04-02 12:15:28 +02:00
IntegratedQuantum
f04d441c3c Improve Bloom performance by combining downsampling and color extracting steps. 2023-03-19 19:20:42 +01:00
IntegratedQuantum
966c3f8857 Add the multiplayer gui and allow joining multiplayer games. 2023-03-16 19:26:43 +01:00
IntegratedQuantum
5b3aaa02c8 Refactor: Simplify texture loading from file and shader creation. Ziggify Shader.create()/delete() to init()/deinit() 2023-03-15 14:33:54 +01:00
IntegratedQuantum
7ce9dc8716 Draw entity names. 2023-02-27 22:06:07 +01:00
IntegratedQuantum
ff7df1bdbc The for loop update. 2023-02-21 21:34:09 +01:00
IntegratedQuantum
0cf88c46a5 Start the gui system: movable windows 2023-02-14 12:46:29 +01:00
IntegratedQuantum
c1fac3ff3e render block drops. 2023-01-30 17:03:31 +01:00
IntegratedQuantum
159adc9581 Render itemdrops. (still missing block drops) 2023-01-26 17:30:16 +01:00
IntegratedQuantum
0ac3346cc4 Start working on itemdrops. 2023-01-24 12:06:02 +01:00
IntegratedQuantum
929d296fdc Rewrite mipmapping for the 10th time. 2023-01-21 19:05:02 +01:00
IntegratedQuantum
f5a2b640b4 Replace ChunkCoordinate with i32.
Lines were getting long...
And also unless I go into fixed point territory i32 is just the only reasonable choice:
i16 is too small (→ 65536 world size)
i24 and similar are too weird(→ potential performance problems?)
i32 is already too big(→ 4 billion world size)
2023-01-20 11:43:02 +01:00
IntegratedQuantum
9bd9912eb8 Simplify the mesh selection code using vectors. 2023-01-20 11:21:53 +01:00
IntegratedQuantum
943d986e99 Mipmapping. 2023-01-14 20:22:57 +01:00
IntegratedQuantum
e9372da52d Avoid double-binding the frame buffer. 2023-01-05 13:28:37 +01:00
IntegratedQuantum
0ccc5ce428 Rotate the block selection for rotated blocks. 2022-12-20 13:37:16 +01:00
IntegratedQuantum
a76fb8029e Rotate voxel models in the vertex shader. 2022-12-17 12:03:43 +01:00
IntegratedQuantum
cbd3abea49 Start working on rotation modes. 2022-12-15 14:03:38 +01:00
IntegratedQuantum
ac41fb8c96 Fix till++'s problems. 2022-12-10 16:48:53 +01:00
IntegratedQuantum
bcb8747dc1 Sort the chunks to reduce overdraw. 2022-12-03 10:31:19 +01:00
IntegratedQuantum
df36109ee5 Add the player inventory(no gui yet), fix compile errors from last commit and fix a data race. 2022-11-22 15:46:04 +01:00
IntegratedQuantum
b3ea5d517c Switch to SIMD vectors.
SIMD vectors are probably faster and support operators.
2022-11-11 12:11:49 +01:00
IntegratedQuantum
cbf784d1e9 Fix crash on close. 2022-11-10 19:54:16 +01:00
IntegratedQuantum
28cb01353a Optimize the hitbox of voxel models. 2022-11-10 16:28:30 +01:00
IntegratedQuantum
d4e9fa2c44 Add block selection. 2022-10-25 18:24:08 +02:00
IntegratedQuantum
2b561a0154 Update to new zig version 2022-10-19 15:20:09 +02:00
IntegratedQuantum
7d70bca35c Add bloom. 2022-10-18 18:56:02 +02:00
IntegratedQuantum
a04fc3369d Get block updates from the server and update the mesh. 2022-10-17 20:30:57 +02:00
IntegratedQuantum
cd5c466bc8 Remove unnecessary framebuffer binding. 2022-10-14 22:33:16 +02:00
IntegratedQuantum
90a77ebf17 Add the genericUpdate Protocol. 2022-10-11 11:15:32 +02:00
IntegratedQuantum
cb5135da6e Add temporary entity rendering(it's a green rect) and receive entity data from the network. 2022-10-10 10:44:26 +02:00
IntegratedQuantum
6a5ea7f1d9 Make tsan happy. 2022-10-06 17:52:17 +02:00
IntegratedQuantum
bb2786c36f Better chunk load order, and better loading priority. 2022-10-04 16:40:42 +02:00
IntegratedQuantum
aa3a769dbe Fix directional bias when determining what chunks are within renderdistance. 2022-10-04 14:07:37 +02:00
IntegratedQuantum
26f4dd2ff2 Fix chunk meshes at lod borders. 2022-10-01 16:46:58 +02:00
IntegratedQuantum
dbc416332a Add Mesh creation for voxelSize=1 chunks. My goal is to combine all meshes in one algorithm to simplify things from the java version. 2022-09-29 12:15:47 +02:00
IntegratedQuantum
76b9b118a1 Store chunks in an array instead of an octree. 2022-09-24 17:41:26 +02:00
IntegratedQuantum
95eb578719 Work on daylight and directional light. 2022-09-20 13:58:13 +02:00