Moritz Zwerger
0db46ff41f
ambient occlusion: real greyscale
2025-02-07 23:43:36 +01:00
Moritz Zwerger
6a9cc77879
ambient occlusion
...
west + east
2025-02-07 23:33:28 +01:00
Moritz Zwerger
b6d14b3a9b
wip ambient occlusion
...
already working for top/bottom faces
2025-02-07 23:11:16 +01:00
Moritz Zwerger
f22935b5f1
arm render: enable face culling
...
Looks pretty shitty otherwise
2025-02-07 22:14:47 +01:00
Moritz Zwerger
095b537578
chunk renderer: pack uv
...
Cleans up uv with its own inlined datatype.
UV took 2*32bits but that was just overkill. Now it takes 2*12 bits and fits into one 32 bit float and leaves an additional
8 bits left, 2 of them will be used for ambient occlusion in the future.
2025-02-07 15:38:49 +01:00
Moritz Zwerger
68728bb1d8
baked face: don't allocate Int object when not tinted
...
Reduces some allocation during chunk meshing
2025-02-07 13:34:40 +01:00
Moritz Zwerger
89c164b360
block flags
...
This caches some properties that might be "complex" to calculate and are needed all over. Costs some memory, but we got enough, right?
2025-02-07 13:30:27 +01:00
Moritz Zwerger
63ff882512
reduce meshes per frame, reduce some latency
2025-02-06 22:11:59 +01:00
Moritz Zwerger
f1596c53ff
block entity receiving: don't process empty nbt
2025-02-06 22:11:43 +01:00
Moritz Zwerger
2e202bd6fc
benchmark section occlusion
2025-02-06 21:54:12 +01:00
Moritz Zwerger
b2963ca1bd
occlusion: cache short array
...
Reduces memory allocations a lot and slightly the performance
2025-02-06 21:47:52 +01:00
Moritz Zwerger
c6892e4bd3
chunk section: only keep track if section has fluids and not how many, improvements
...
A lot faster now and the count is not really needed, it will change rarely.
2025-02-06 21:37:15 +01:00
Moritz Zwerger
d2d83d85dc
MobSpawnerBlockEntity::isPlayerInRange: don't wait forever
...
This workarounds a deadlock.
2025-02-06 21:06:29 +01:00
Moritz Zwerger
be5dffcc0a
some more freeze dump improvements
2025-02-06 18:57:26 +01:00
Moritz Zwerger
e077192eb2
freeze dump: print lock details
...
This way it is clear who is holding the lock and probably causing the thread lock by not unlocking/releasing it again
2025-02-06 18:43:29 +01:00
Moritz Zwerger
c1bcfbe982
fix kutil version
...
my bad, called the local build version 1.27.0
2025-02-06 13:49:54 +01:00
Moritz Zwerger
c2b7890b2f
optimize entity attribute calculation
...
Armor stands (living entities) need that to weather it is possible to target them. Reduces memory usage (enum map, only on demand, skip empty map).
2025-02-06 13:44:35 +01:00
Moritz Zwerger
9555ff19ea
render prepare: run Renderer::postPrepareDraw as soon as async is possible
...
Now it is not waiting for the previous stage (async prepare) anymore and can start with tasks asap. This reduces the frame time, because it does not need to waiting blocked most times.
2025-02-06 12:51:24 +01:00
Moritz Zwerger
13037f4e0a
renderer manager: enqueue async preparing directly after sync preparing and wait after all were enqueued.
...
Async renderers can now already complete their preparing when others are still preparing in their sync phase. This should reduce the frame time a bit. It can even be enhanced with some feedback/task scheduler (track what time it takes avg and queue that one first next frame or so).
2025-02-06 10:00:29 +01:00
Moritz Zwerger
88df92ce84
chunk renderer: work on meshing queue async
...
Then it does not block the render preparing pipeline anymore. Same for sky renderer.
2025-02-06 09:58:03 +01:00
Moritz Zwerger
995e4be2eb
fix building with java 11
...
Those functions are not available there and should be imported.
2025-02-06 09:56:35 +01:00
Moritz Zwerger
52c3f7372e
local chunk manager: only update when position changed
2025-02-05 14:36:38 +01:00
Moritz Zwerger
ba8353d1f0
fragmented array list: fix bad return
2025-02-04 22:06:04 +01:00
Moritz Zwerger
20f4733771
benchmark solid section mesher
2025-02-04 21:56:48 +01:00
Moritz Zwerger
c21e1cb852
WeightedBlockRender: unpack if total weight < 20
...
This makes it a bit faster to lookup the model. It can even be more enhanced by unpacking the whole section once (every model) and then running culling and stuff afterwards. In the future...
2025-02-04 21:47:49 +01:00
Moritz Zwerger
a6cf950e29
FragmentedArrayFloatList: optimize
...
Just for adding 7 floats, that method is used during chunk meshing. The case that the first incomplete list has more than 7 floats available is probably in 99% of cases the case and not trying to push the buffer every time improves performance (it is way faster, meshing a random chunk is now twice as fast)
2025-02-04 20:24:27 +01:00
Moritz Zwerger
c11d64f2d7
meshes/float lists: make size a power of 2
...
This way it is way more likely to be page aligned and memory access should be faster
2025-02-04 20:21:20 +01:00
Moritz Zwerger
7229f9c06e
render stats: reduce avg
...
Otherwise fps are building up when joining?
2025-02-03 22:21:27 +01:00
Moritz Zwerger
8dca129517
bump dependencies
2025-02-03 22:20:33 +01:00
Moritz Zwerger
b2480980e9
port to kutil 1.27
...
This update has some qol updates and a lot of juicy performance updates. Locking now uses javas integrated ReentrantLock which is 10 times faster than the synchronized lock (benchmarked it). Due to minosofts async nature, a lot of locking is needed (especially for time critical parts like in rendering). Locking is already reduced to a minimum, but it should still give a small performance boost.
(more ports in there)
2025-02-03 22:12:37 +01:00
Moritz Zwerger
6659a0fef9
exclude dnsjava service
...
This is pretty bad, but it breaks minosoft for java18+ atm.
https://github.com/Bixilon/Minosoft/issues/33
2024-12-22 17:31:00 +01:00
Moritz Zwerger
6f9c83d3e5
bump gradle: 8.11.1
2024-12-16 14:00:07 +01:00
Moritz Zwerger
dcaa5eea4d
bump dependencies
2024-12-16 13:59:33 +01:00
Moritz Zwerger
3a608abe2d
bump kutil: 1.26.4
2024-10-29 23:53:15 +01:00
Moritz Zwerger
45a184a1b5
downgrade lwjgl/glfw
2024-10-29 23:36:49 +01:00
Moritz Zwerger
de1d3541a6
rendering: properly close window
...
This still makes the window freeze on wayland, not sure if I should blame the glfw update to kde.
2024-10-29 23:33:04 +01:00
Moritz Zwerger
8cfa0eb0f1
fix connecting to hostname in play instead of pinged address
...
This breaks SRV resolving
2024-10-29 23:27:52 +01:00
Moritz Zwerger
ad72c013df
fix plank tests
2024-10-29 23:12:07 +01:00
Moritz Zwerger
5011828949
prepare for kutil 1.26.3
2024-10-29 22:04:12 +01:00
Moritz Zwerger
3c93f7cc45
update: wrap release notes in scroll panel, show if update unavailable for downloading
...
Fixes GH-31
2024-10-29 22:02:38 +01:00
Moritz Zwerger
c9795c4451
bump dependencies
2024-10-29 21:39:26 +01:00
Moritz Zwerger
88f090464a
bump gradle
2024-10-29 21:34:36 +01:00
Moritz Zwerger
270617d084
readme: education branch
2024-08-11 12:36:43 +02:00
Moritz Zwerger
c473b43154
DummyVendor::toString
2024-08-10 16:00:08 +02:00
Moritz Zwerger
3b391b14a8
local connection: add player to tab list
2024-08-09 22:23:20 +02:00
Moritz Zwerger
eb9c261d15
option to disable profile saving
2024-08-09 22:23:17 +02:00
Moritz Zwerger
2fec0f1df7
add dirt, planks
2024-08-09 12:33:09 +02:00
Moritz Zwerger
716cdf6cf2
properties loader: just append version name
...
This makes it easily possible to change the edition name (like education)
2024-08-09 12:11:41 +02:00
Moritz Zwerger
2f338f8241
local connection: send game joined message
2024-08-09 12:08:09 +02:00
Moritz Zwerger
dddd0ebde4
legacy chat component reading: remove quotes around text + test
2024-08-06 23:05:33 +02:00