
GPU Land
My attempt at worldgen on the gpu
- Загрузки
- 306
- Подписчики
- 8
- Обновлён
- 13 мая 2026 г.
- Лицензия
- MPL-2.0
Опубликован 21 апреля 2026 г.
WARNING: Alpha Software: Currently under heavy development. Expect crashes in combination w/ and w/o other mods.
This mod is my attempt to do worldgen using compute shaders on gpu. The mod currently uses vulkan api to execute compute shaders.
Does the mod change world generation? Yes ofc, it's just a single compute shader. I don't even know much about noise and vanilla world generation.
Can I customise the worldgen? Yes ofc, its one of the goals of the mod. Just compile a glsl shader into spv and put it into a datapack. I will write the specifics on how to do that later. For now, just check the Source Code to figure stuff out. Specifically Built in shader and Built in datapack
Can I use it on dedicated server No, At least for now, you can manually add lwjgl libraries to classpath. It will crash if the mod crashes, because the crash code is dependent on client code. Hope it makes sense.
Requirements
- Vulkan 1.4
- GL_EXT_shader_explicit_arithmetic_types_int8
- GL_EXT_shader_8bit_storage
Currently implemented
- Single shader-pass to translate each blockpos to a index in a pre-determined block palette of max size 256
- Minimal multithreading (use c2me mod to take full advantage)
- Loading shaders from datapacks
Planned
- Multi-pass shaders, to modify biomes and blocks, and generate intermediary textures
- Datapack reload support
- Repacking of chunk sections in manner similiar to vanilla, instead of simple memory copy from gpu using static block palette
- Allow reusing shaders via push constants
- Allow running on dedicated server
Socials
- If you are shader/worldgen dev, and have used the mod, please contact me with your work.
Ченджлог
1.0.2+26.1.2Альфа26.1.2 · 13 мая 2026 г.
- ggs new release
- improve device selection (rank devices and queue families)
- add configurable pipeline (datapacks can now work in stages and use multiple buffers)
- change terrain again
- extend noise chunk gen
- add noise biomes (doesn't match the terrain, or get passed to shader)
- less hardcoded stuff
- datapacks can now optionally enable surface, cave carver, features and structures per world
- speed up moving data back to world (skip moving zeroes)
- better follow vulkan spec (enable features)
- properly check drivers if they actually have required features
- debug logging of device selection
1.0.2+26.2-snapshot-3Альфа26.2-snapshot-3 · 13 мая 2026 г.
- improve device selection (rank devices and queue families)
- add configurable pipeline (datapacks can now work in stages and use multiple buffers)
- change terrain again
- extend noise chunk gen
- add noise biomes (doesn't match the terrain, or get passed to shader)
- less hardcoded stuff
- datapacks can now optionally enable surface, cave carver, features and structures per world
- speed up moving data back to world (skip moving zeroes)
- better follow vulkan spec (enable features)
- properly check drivers if they actually have required features
- debug logging of device selection
1.0.1+26.1.2Альфа26.1.2 · 7 мая 2026 г.
- currently only natives for windows, linux added (only for x64)
- use vulkan mod if you wanna use on mac os (or arm64)
- expect crashes, highly experimental port
1.0.1+26.2-snapshot-3Альфа26.2-snapshot-3 · 27 апреля 2026 г.
- require vulkan 1.3
- require all explicit arithmetic types ext in glsl
- better error handling, (can run purely server side, with errors if you add vulkan libs to classpath)
- pass world seed to shaders
- different worlds for different seeds
- update mod metadata
1.0.0+26.2-snapshot-3Альфа26.2-snapshot-3 · 21 апреля 2026 г.
First alpha
Комментарии
Загружаем…