e0aecdc3f3Added a second method for local flow calculation. It is possible to switch between them using the 'flow_method' parameter.
Gael-de-Sailly
2020-12-24 12:42:18 +0100
83728cc932Fixed lakes elevation There were sometimes missing water patches near a lake's edge, when the neighbour catchment area was lower. This commit allows to divide a cell into several mini-catchment basins, to fill only a part of it with water.
Gael-de-Sailly
2020-12-22 18:34:30 +0100
9ffa150263Added function 'noisemap' to generate a noise map with a quite unified parameter set, and an option for logarithmic noise. For future use.
Gael-de-Sailly
2020-12-22 01:44:03 +0100
2a9335332bAdded optional sea level variations for the simulation. This results in more varied coastline morphologies.
Gael-de-Sailly
2020-12-22 01:11:43 +0100
9b4a9b2516Rework default erosion parameters, Fix ignored values of K and m, and changed processes order.
Gael-de-Sailly
2020-12-20 18:51:44 +0100
7529291ab4For bounds.py (calculation of offsets), use the same data type as rivers
Gael-de-Sailly
2020-12-20 18:48:10 +0100
b4f97bec61For noise map seed: don't go over ±4096, to prevent rounding errors on coordinates (because noise library uses 32-bit floats)
Gael-de-Sailly
2020-12-20 18:11:11 +0100
3dc874a494Added description of the algorithm + acknowledge the authors of the paper.
Gael-de-Sailly
2020-12-05 14:33:40 +0100
f0dddee33cLakes map: keep initial height (reduces file size) Lake height is calculated for every basin, and there is a lake if lake height is higher than ground height. If it is lower, there is no lake. In that case, it was previously raised to ground level, but since this can be done in Lua, we can write initial lakes height in the files. This has the advantage of reducing file size, since there are bigger areas of equal values, that are more efficiently compressed.
Gael-de-Sailly
2020-12-05 14:24:50 +0100
ecd2c7d3f9Completely change flow routing algorithm, use a local flow calculation, determine depressions, and link them using a minimum spanning tree (Boruvka's algorithm). This is based on a paper by Cordonnier et al, 2019.
Gael-de-Sailly
2020-12-04 01:03:03 +0100
40098d6be3Use standard int instead of uint8, int32, etc. Much faster with NumPy.
Gael-de-Sailly
2020-12-03 23:30:57 +0100
faef1658a9Fixed map centering, and converted polygon coordinates to map nodes instead of grid nodes.
Gael-de-Sailly
2020-12-22 16:38:30 +0100
d5cf4a6267Optionally center the map around x=0 z=0
Gael-de-Sailly
2020-12-20 22:28:54 +0100
53f88d337dProtect map preview from exceptions Since map preview is optional, an exception should not propagate to terrain calculation, so print an error message + traceback but keep the script running.
Gael-de-Sailly
2020-11-25 13:12:24 +0100
3644965842Fix bool settings being improperly loaded as strings
Gael-de-Sailly
2020-11-17 20:56:02 +0100
9725979363Fix increments for argument parsing
Gael-de-Sailly
2020-11-17 20:45:11 +0100
fc0a158385Disable glaciers by default
Gael-de-Sailly
2020-11-15 11:26:50 +0100
050ca3b779Change demo data, update to a grid using new default parameters
Gael-de-Sailly
2020-11-15 11:19:28 +0100
1f41423104Print a clear message when grid is ready Also use plt.pause before plotting, ensuring plot is updated in real time
Gael-de-Sailly
2020-11-15 11:13:42 +0100
3792cd5dc8Added support for biomegen mod
Gael-de-Sailly
2020-11-10 13:25:04 +0100
6b9c091dd5Fix file opening mode on the Lua side, to avoid crashes on Windows
Gael-de-Sailly
2020-11-14 17:31:36 +0100
b90cecdaf7Allow command-line options for Python processing
Gael-de-Sailly
2020-11-14 14:30:36 +0100
c33f2d9582Python side: rework config system. Load `terrain.conf` of the script directory by default. Add a `terrain_higher.conf` for alternative terrain.
Gael-de-Sailly
2020-11-14 12:19:40 +0100
8a15bc924dDynamic map displaying Map is displayed at every iteration if matplotlib library is installed
Gael-de-Sailly
2020-11-14 12:05:52 +0100
3fda369fb5Rewritten map viewer Now displays map statistics even if there is no matplotlib
Gael-de-Sailly
2020-11-13 11:04:27 +0100
30136bf60aAdded scale (blocksize) parameter for view_map.py
Gael-de-Sailly
2020-11-10 13:19:20 +0100
9475b49b8dRemoved duplicate calls to 2 scripts
Gael-de-Sailly
2020-11-10 13:18:02 +0100
36b49a7fe2Add settings for parameters in terrain_rivers.py
Gael-de-Sailly
2020-05-30 12:03:34 +0200
103cd49d78Optionally disable distorsion by setting 'mapgen_rivers_distort = false' in minetest.conf
Gaël de Sailly
2020-07-21 14:01:29 +0200
25c5cb2e1fReverse axes order for heightmaps (iterate in Z direction first instead of X)
Gaël de Sailly
2020-07-21 12:46:23 +0200
6f43430574Added glaciers, and re-organized noise definitions
Gael-de-Sailly
2020-05-24 11:38:47 +0200
625768f967Added snow and ice in function of temperature. Uses noise parameters of builtin biomegen
Gael-de-Sailly
2020-05-23 18:13:00 +0200
4edd1a946eHorizontal shifting according to 3D noises: makes slopes more irregular and natural-looking, allows overhanging. This is done by generating an intermediate 2D elevation map and, for each node in 3D, add a 2D offset vector to the position, and seek this position on the heightmap.
Gael-de-Sailly
2020-05-23 15:52:16 +0200
f56857e804Fix water not being set at lower chunk borders
Gael-de-Sailly
2020-05-08 10:02:04 +0200
a73a0dd80bAvoid some redundant calculation on corners (not very significant, but why not)
Gael-de-Sailly
2020-04-27 21:08:15 +0200
a9ab0e53d3Change folder structure: data files are now in a directory. Also added a demo 400x400 map, that is overriden on pre-processing.
Gael-de-Sailly
2020-04-26 23:29:36 +0200
b429b302e1Rewritten part of code to calculate river depth Fixes bathymetry problems on turns or confluences, as well as abrupt riverbanks.
Gaël de Sailly
2020-04-26 22:19:05 +0200
cd4b517585terrain_rivers.py: `mapsize` is now the number of intervals instead of the number of nodes.
Gael-de-Sailly
2020-04-26 19:51:21 +0200
cd90a21df4Enhanced visualization code to display colormaps, and reuse the same code for initial and further viewing, in view_map.py
Gael-de-Sailly
2020-04-26 18:30:29 +0200
206c68813eSwitch again to using river direction and flux instead of table of bounds
Gael-de-Sailly
2020-04-26 18:10:23 +0200
6af6795d90Comment and clarify
Gael-de-Sailly
2020-04-26 17:13:38 +0200
49bc397718Fix parameters for Simplex noise, to make sure the last octave has not a greater scale than 1 Also use a 401x401 grid instead of 400, so that there are 400 intervals
Gael-de-Sailly
2020-04-26 16:52:40 +0200
9700e948b9Position should be strictly beyond river threshold to be a river Prevents some wrongly placed water pixels.
Gael-de-Sailly
2020-04-14 21:54:05 +0200
55725ad94bRe-organized the code. All polygon-related calculations go to polygons.lua.
Gael-de-Sailly
2020-04-14 21:11:54 +0200
43211fc31bRemoved useless functions get_point_location and geometry.area
Gael-de-Sailly
2020-04-14 20:22:13 +0200
14163681ccUse settings from minetest.conf
Gael-de-Sailly
2020-04-14 17:53:36 +0200
af7a7ce26dCompress data files (reduces size by a factor 3-4)
Gael-de-Sailly
2020-04-13 15:59:34 +0200
da98a538bbDraw outer corners of river turns.
Gael-de-Sailly
2020-04-13 15:01:54 +0200
b5db63d267Re-added river flow data because needed for map preview
Gael-de-Sailly
2020-04-13 13:45:52 +0200
1adb4fbeceAdded an offset of 0.5 on terrain elevation This prevents rounding errors and improves interpolation on nearly flat areas
Gael-de-Sailly
2020-04-13 12:27:24 +0200
13d3e70b66Implemented variable river width. Also changed the river data exported by terrain_rivers.py. They will not be compatible with what's generated by older versions.
Gael-de-Sailly
2020-04-13 12:15:10 +0200
4b63ed371eAdd more information in the polygon table
Gael-de-Sailly
2020-04-13 10:31:38 +0200
34de4269eeAdd directly a reference to the polygon table in the polygon list, instead of adding an index
Gael-de-Sailly
2020-04-13 09:54:04 +0200
4e8288afbeAdded screenshot in README
Gael-de-Sailly
2020-04-12 18:17:57 +0200
56cebecb13More robust and faster code for grid twisting on the Lua side. At chunkgen init, build a list of the polygons instead of calculating them for every node.
Gael-de-Sailly
2020-04-12 16:42:03 +0200
b7c6f71635Implemented grid twisting. Still many possible bugs, potentially clumsy implementation, but it seems to work.
Gael-de-Sailly
2020-04-12 09:40:10 +0200
6314117642Added bounds.py: twists the grid as if the rivers were elastic bounds. Unused for now.
Gael-de-Sailly
2020-04-11 14:29:39 +0200
ed34dec4faAdjust number of octaves in function of map size
Gael-de-Sailly
2020-04-12 17:26:37 +0200
538bfb6d6dAdded script to view map, using matplotlib
Gael-de-Sailly
2020-04-12 16:44:29 +0200
ecba126983Add a small random number to DEM when calculating flow direction, to smooth flat areas
Gael-de-Sailly
2020-04-11 14:27:56 +0200
8b78f6c5b4Implemented isostatic rebound: loss of weight due to erosion will compensate at regional scale
Gael-de-Sailly
2020-04-10 19:37:27 +0200
0bf351b2f6Initial commit: working example using a basis of Simplex noise and implementing river flowing, lakes, and erosion
Gael-de-Sailly
2020-04-09 21:13:38 +0200