
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.
WARNING: Alpha Software: Currently under heavy development. Almost zero error handling is implemented.
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.
