From 20ccf321ce3fcb69f3bbb459f6fe6e47f45a8bd9 Mon Sep 17 00:00:00 2001 From: Starbeamrainbowlabs Date: Tue, 18 Aug 2020 02:11:37 +0100 Subject: [PATCH] Start setting things out to implement erosion First up, we're going to attempt to implement a snowballs-based algorithm. Reference: https://jobtalle.com/simulating_hydraulic_erosion.html --- worldeditadditions/init.lua | 2 +- .../lib/conv/{convolution.lua => conv.lua} | 0 worldeditadditions/lib/erode/erode.lua | 3 +++ worldeditadditions/lib/erode/snowballs.lua | 9 +++++++++ 4 files changed, 13 insertions(+), 1 deletion(-) rename worldeditadditions/lib/conv/{convolution.lua => conv.lua} (100%) create mode 100644 worldeditadditions/lib/erode/erode.lua create mode 100644 worldeditadditions/lib/erode/snowballs.lua diff --git a/worldeditadditions/init.lua b/worldeditadditions/init.lua index 7758048..8be8c1a 100644 --- a/worldeditadditions/init.lua +++ b/worldeditadditions/init.lua @@ -23,7 +23,7 @@ dofile(worldeditadditions.modpath.."/lib/walls.lua") dofile(worldeditadditions.modpath.."/lib/replacemix.lua") dofile(worldeditadditions.modpath.."/lib/maze2d.lua") dofile(worldeditadditions.modpath.."/lib/maze3d.lua") -dofile(worldeditadditions.modpath.."/lib/conv/convolution.lua") +dofile(worldeditadditions.modpath.."/lib/conv/conv.lua") dofile(worldeditadditions.modpath.."/lib/count.lua") diff --git a/worldeditadditions/lib/conv/convolution.lua b/worldeditadditions/lib/conv/conv.lua similarity index 100% rename from worldeditadditions/lib/conv/convolution.lua rename to worldeditadditions/lib/conv/conv.lua diff --git a/worldeditadditions/lib/erode/erode.lua b/worldeditadditions/lib/erode/erode.lua new file mode 100644 index 0000000..d30118d --- /dev/null +++ b/worldeditadditions/lib/erode/erode.lua @@ -0,0 +1,3 @@ +worldeditadditions.erode = {} + +dofile(worldeditadditions.modpath.."/lib/erode/snowballs.lua") diff --git a/worldeditadditions/lib/erode/snowballs.lua b/worldeditadditions/lib/erode/snowballs.lua new file mode 100644 index 0000000..e834f10 --- /dev/null +++ b/worldeditadditions/lib/erode/snowballs.lua @@ -0,0 +1,9 @@ +--[[ +2D erosion algorithm based on snowballs +Note that this *mutates* the given heightmap. +@source https://jobtalle.com/simulating_hydraulic_erosion.html + +]]-- +function worldeditadditions.erode.snowballs(heightmap, heightmap_size, erosion_params) + +end