7 Commits

Author SHA1 Message Date
IntegratedQuantum
9898db654b Specify the location of all shader in/out parameters.
also normalized the version and layout formatting
progress towards #1376
2025-05-02 14:53:57 +02:00
IntegratedQuantum
22488a28ae CI: Check for trailing spaces and (missing) newlines at the end of the file
fixes #737
2025-02-12 17:36:44 +01:00
IntegratedQuantum
faaae6ff4a Add a block breaking animation
fixes #620
2025-01-22 21:32:10 +01:00
IntegratedQuantum
3bdc1dd83d Introduce LOD0.5 which renders all leaves opaque.
This allows removing a bunch of internal faces, improving frametime greatly when looking at a distant forest.

fixes #579

makes #823 more important, since this doubled the cost
2024-12-16 23:27:51 +01:00
IntegratedQuantum
7651ae6aee Change how visible meshes are determined and traversed.
I gave up on two restrictions:
1. low-to-high LOD borders are no longer prevented. This was only a problem for low render distance + fast movement, and the consequences of the fix were causing flickering in some cases, and to be honest I prefer small gaps in the terrain.
2. 2×2×2 chunks are grouped and rendered together. This makes the vertex shader a bit simpler and allows hierarchical traversal of chunks. However this means that the minimume render distance had to be increased again.

Overall this gave around a 30% reduction in CPU time for selecting the visible chunks. This also reduced jitter during loading.

makes #722 less severe
would make #745 more effective

Further optimizations might be possible.
2024-11-30 15:23:40 +01:00
IntegratedQuantum
6dc106fb9f Store light data in a separate buffer and compress it.
Slightly slower, but halfs GPU memory usage and allows storing 3× more faces on the GPU.
Also makes meshing a bit slower, but transparency sorting should be a lot faster, since it's shuffling around less memory.
2024-07-27 14:27:53 +02:00
IntegratedQuantum
ae45b93a6c Implement Raster Occlusion culling.
fixes #174
fixes #209
2024-06-26 09:45:53 +02:00