Commit Graph

82 Commits

Author SHA1 Message Date
Gael-de-Sailly
4edd1a946e Horizontal 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.
2020-05-23 15:52:16 +02:00
Gael-de-Sailly
f56857e804 Fix water not being set at lower chunk borders 2020-05-08 10:02:04 +02:00
Gael-de-Sailly
a73a0dd80b Avoid some redundant calculation on corners
(not very significant, but why not)
2020-04-27 21:08:15 +02:00
Gael-de-Sailly
a9ab0e53d3 Change folder structure: data files are now in a directory.
Also added a demo 400x400 map, that is overriden on pre-processing.
2020-04-26 23:29:36 +02:00
Gaël de Sailly
b429b302e1 Rewritten part of code to calculate river depth
Fixes bathymetry problems on turns or confluences, as well as abrupt riverbanks.
2020-04-26 22:19:05 +02:00
Gael-de-Sailly
cd4b517585 terrain_rivers.py: mapsize is now the number of intervals
instead of the number of nodes.
2020-04-26 19:51:21 +02:00
Gael-de-Sailly
cd90a21df4 Enhanced visualization code to display colormaps, and reuse the same code for initial and further viewing, in view_map.py 2020-04-26 18:30:29 +02:00
Gael-de-Sailly
206c68813e Switch again to using river direction and flux instead of table of bounds 2020-04-26 18:10:23 +02:00
Gael-de-Sailly
6af6795d90 Comment and clarify 2020-04-26 17:13:38 +02:00
Gael-de-Sailly
49bc397718 Fix 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
2020-04-26 16:52:40 +02:00
Gael-de-Sailly
9700e948b9 Position should be strictly beyond river threshold to be a river
Prevents some wrongly placed water pixels.
2020-04-14 21:54:05 +02:00
Gael-de-Sailly
55725ad94b Re-organized the code. All polygon-related calculations go to polygons.lua. 2020-04-14 21:11:54 +02:00
Gael-de-Sailly
43211fc31b Removed useless functions get_point_location and geometry.area 2020-04-14 20:26:15 +02:00
Gael-de-Sailly
14163681cc Use settings from minetest.conf 2020-04-14 18:40:51 +02:00
Gael-de-Sailly
af7a7ce26d Compress data files (reduces size by a factor 3-4) 2020-04-13 15:59:34 +02:00
Gael-de-Sailly
da98a538bb Draw outer corners of river turns. 2020-04-13 15:01:54 +02:00
Gael-de-Sailly
b5db63d267 Re-added river flow data because needed for map preview 2020-04-13 15:01:44 +02:00
Gael-de-Sailly
1adb4fbece Added an offset of 0.5 on terrain elevation
This prevents rounding errors and improves interpolation on nearly flat areas
2020-04-13 12:27:24 +02:00
Gael-de-Sailly
13d3e70b66 Implemented 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.
2020-04-13 12:15:10 +02:00
Gael-de-Sailly
4b63ed371e Add more information in the polygon table 2020-04-13 10:31:38 +02:00
Gael-de-Sailly
eba90803fe Removed useless debug print 2020-04-13 10:01:23 +02:00
Gael-de-Sailly
34de4269ee Add directly a reference to the polygon table in the polygon list, instead of adding an index 2020-04-13 09:54:04 +02:00
Gael-de-Sailly
4e8288afbe Added screenshot in README 2020-04-13 09:27:41 +02:00
Gael-de-Sailly
56cebecb13 More 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.
2020-04-13 09:27:41 +02:00
Gael-de-Sailly
b7c6f71635 Implemented grid twisting. Still many possible bugs, potentially clumsy implementation, but it seems to work. 2020-04-13 09:27:41 +02:00
Gael-de-Sailly
6314117642 Added bounds.py: twists the grid as if the rivers were elastic bounds. Unused for now. 2020-04-13 09:27:41 +02:00
Gael-de-Sailly
ed34dec4fa Adjust number of octaves in function of map size 2020-04-12 17:26:37 +02:00
Gael-de-Sailly
538bfb6d6d Added script to view map, using matplotlib 2020-04-12 16:44:29 +02:00
Gael-de-Sailly
ecba126983 Add a small random number to DEM when calculating flow direction, to smooth flat areas 2020-04-11 14:27:56 +02:00
Gael-de-Sailly
8b78f6c5b4 Implemented isostatic rebound: loss of weight due to erosion will compensate at regional scale 2020-04-10 19:37:27 +02:00
Gael-de-Sailly
6752ffa91d Added README 2020-04-10 17:29:32 +02:00
Gael-de-Sailly
0bf351b2f6 Initial commit: working example using a basis of Simplex noise and implementing river flowing, lakes, and erosion 2020-04-09 21:15:41 +02:00