Commit Graph

77 Commits

Author SHA1 Message Date
Joshua Yanovski
9ee0cd82d0 Code restructuring for performance.
Turned a lot of for loops into for_each loops, which should be easier
for LLVM to optimize currently.  Also updated almost all the non-erosion
stuff in WorldGen to run in parallel (and take advantage of the cache,
in the case of TownGen), and hopefully improved performance somewhat for
chunk generation as well.
2020-01-23 18:18:14 +01:00
Joshua Yanovski
597bb3c526 Adding many new types of geomorphic laws:
- soil production (currently disabled).
- debris flow erosion (combined with regular stream power law).
- flow computation using multiple receivers.
- filling strategy during drainage network calculations.

Also tweaks a variety of other aspects of erosion.
2020-01-23 18:18:12 +01:00
Joshua Yanovski
ee5d383c46 Map saving, soil production, speedup attempts. 2020-01-23 18:18:10 +01:00
Joshua Yanovski
825ba1b4f4 WIP fixes: more pleasing uplift generation.
Uses the exponential distribution now.
2020-01-23 18:18:07 +01:00
soruh
6dfa146484 Mitgated RUSTSEC-2019-0014 by updating noise and
disabling its default features, specifically `image`,
which had the vulnerability.
2019-11-05 11:14:39 +00:00
Joshua Yanovski
8ae2692b6e Allow canceling chunk generation.
Currently we only do this when no players are in range of the chunk.  We
also send the first client who posted the chunk a message indicating
that it's canceled, the hope being that this will be a performance win
in single player mode since you don't have to wait three seconds to
realize that the server won't generate the chunk for you.

We now check an atomic flag for every column sample in a chunk.  We
could probably do this less frequently, but since it's a relaxed load it
has essentially no performance impact on Intel architectures.
2019-10-16 11:39:41 +00:00
KyoZM
1998ed2fdd load structures from ron files / transfer static structure lists to ron files 2019-10-10 20:53:13 -03:00
Marcel Märtens
20c520a044 Change the version number to 0.4 2019-10-10 15:48:01 +02:00
Imbris
f182733074 Small cache experiments 2019-09-22 22:19:07 -04:00
Acrimon
85e6e54dc2 Fixed compile errors. 2019-09-17 16:12:17 +02:00
Acrimon
1dfbe40731 Made the worldgen noise generators seed from the RNG and got rid of zerocopy. 2019-09-17 16:05:08 +02:00
timokoesters
c4879307af
Update to github vek repo 2019-08-26 13:12:45 +02:00
Acrimon
cb4374160c Removed unsafe. 2019-08-19 00:55:04 +02:00
Acrimon
b4a46f3e6e Finished switch to hashbrown. 2019-08-11 22:38:28 +02:00
Acrimon
ed4909670d Use hashbrown instead of fxhashmap in world. 2019-08-11 22:10:36 +02:00
Piotr Korgól
d3f2ca69a4 Change the version number to 0.3 2019-08-04 13:53:59 +02:00
Acrimon
a5b19935a2 Use named generator in worldgen. 2019-07-30 16:10:59 +02:00
Acrimon
ee49ebe807 Update rand, log and scan_fmt 2019-07-29 13:42:26 +00:00
timokoesters
5aa864ee58
Update most dependencies 2019-07-28 22:47:23 +02:00
Joshua Barretto
9fed2c1534 Merged stumps, adjusted scale code 2019-06-13 11:59:05 +01:00
Joshua Barretto
c8ba5d9f89 Basic pine tree spawning
Former-commit-id: e58374724f6c9cb4a54ae96abd3420b02207fd30
2019-05-25 05:51:45 +01:00
Joshua Barretto
4d73f38e6d Refactored worldgen sampling, added cache layer
Former-commit-id: 3ad5277ed0c871d6678a42629145cb722d4c76c5
2019-05-25 05:51:45 +01:00
Joshua Barretto
857315a27d Added basic structure generation
Former-commit-id: 88a6bf2e18ac4f8f9b560797c8aac82ca318afb0
2019-05-25 05:51:45 +01:00
Joshua Barretto
feece604be Restarted worldgen
Former-commit-id: e1526ec5f865904f11ab6a1507ecdc1a52acb28d
2019-05-21 22:51:41 +01:00
Joshua Barretto
f4260706e6 Updated package versions
Former-commit-id: bb0d1efd718ddef598fbb894498a43ad014a11c0
2019-04-14 14:23:43 +01:00
Joshua Barretto
248577bdef Added test terrain loading and meshing 2019-01-23 20:01:58 +00:00
Joshua Barretto
41b6672743 Added Terrain type to scene 2019-01-15 15:13:11 +00:00