Commit Graph

1529 Commits

Author SHA1 Message Date
Joshua Yanovski
706084dd15 Improving meshing performance. 2022-08-13 23:48:50 -07:00
Joshua Barretto
9bb3681f55 Better SmallCache 2022-08-06 18:19:43 +01:00
Joshua Barretto
bdb71a15df Improved cave performance, fixed FastNoise2d 2022-08-06 18:02:57 +01:00
Joshua Barretto
86f628037f Made caves generate 425x faster 2022-08-06 14:46:33 +01:00
Joshua Yanovski
2a61c7790b Substantial improvements to meshing time.
This mostly come out of optimizing BlocksOfInterest to (empirically)
minimize redundant computations, use a more efficient RNG, use a faster
verion of iter_changed, and optimize water block handling (theoretically
the iter_changed difference might mean we missed some water blocks, but
in practice it's unlikely to matter for fast-moving rivers).

Also did some microoptimizations of meshing etc. that seem to result in
pretty good improvements in practice, and also added another set of
optimizations to improve tree performance (special casing "easy" segment
approaches, which got a few percent, and inlining block_from_structure
for tree leaves and branches, which got us considerably more; I think
the total improvement is around 5%).
2022-07-31 01:28:37 -07:00
Joshua Yanovski
901aa8e1b4 Another 5% boost to tree chunk performance
(and over 25% improvement to giant tree throughput--they are under 1
ms/chunk now!)
2022-07-28 12:12:15 -07:00
Joshua Yanovski
233e12d279 Boost tree performance by ~70%.
Turns out inlining matters!
2022-07-27 21:47:47 -07:00
Joshua Yanovski
9ebf07c6e1 Merge remote-tracking branch 'origin/master' into sharp/zoomy-worldgen 2022-07-27 15:30:37 -07:00
Joshua Yanovski
bc4600cf14 Rivers (hack, not great). 2022-07-25 18:28:27 -07:00
Joshua Yanovski
0b91f5ba90 Fix paths (sorta) and rock moss. 2022-07-18 09:19:20 -07:00
Joshua Yanovski
a3491d5073 Faster falloff, some performance optimizations. 2022-07-17 23:43:40 -07:00
Joshua Yanovski
fcb192d849 Fast density approximation. 2022-07-17 22:23:44 -07:00
Joshua Yanovski
7e9291fb4d Larger areas and wavelengths. 2022-07-17 20:31:55 -07:00
Joshua Yanovski
09a5e49c25 Scatter testing (not complete) 2022-07-17 20:11:36 -07:00
Marcel
ed4d70ac5b Merge branch 'juliancoffee/add_cache_load_map' into 'master'
Add FileOpts::CacheLoad and a bit of refactoring

See merge request veloren/veloren!3472
2022-07-17 19:28:35 +00:00
Forest Anderson
67534488b3 Merge branch 'tygyh/CleanUp' into 'master'
Tygyh/clean up

See merge request veloren/veloren!3480
2022-07-17 14:04:45 +00:00
juliancoffee
fac67a40a1 Make worldgen panic if loaded map has invalid size 2022-07-17 14:49:42 +03:00
juliancoffee
9d67d80a63 Only ovewrite LoadOrGenerate map if it's fresh map 2022-07-17 14:38:29 +03:00
juliancoffee
5079c0007f Remove prefix map_ for LoadOrGenerate maps 2022-07-17 14:38:29 +03:00
juliancoffee
d2962d544b Add overwrite option to LoadOrGenerate 2022-07-17 14:38:29 +03:00
juliancoffee
60a9cce57f Change map_path to inslude map directory 2022-07-17 14:38:29 +03:00
juliancoffee
a437d31205 Checking options from loaded map instead of hash 2022-07-17 14:38:29 +03:00
juliancoffee
6d9c7a5645 Adressing review 2022-07-17 14:38:29 +03:00
juliancoffee
6faba8a1e9 Use hashable wrapper around gen opts 2022-07-17 14:38:29 +03:00
juliancoffee
ddf2c43c18 Make hacky hash for gen opts 2022-07-17 14:38:29 +03:00
juliancoffee
1a21dfbc5b Add FileOpts::CacheLoad
Add map setting that allows both generating (if not exists) and loading map
2022-07-17 14:38:29 +03:00
juliancoffee
85cee14643 Refactoring, extract FileOpts dependent methods 2022-07-17 14:38:29 +03:00
Joshua Yanovski
ef4b190ad9 Temporarily remove waypoints in caves as people are getting stuck. 2022-07-16 23:08:05 -07:00
Joshua Barretto
b08a501aef Cleaned up ready for merge 2022-07-16 11:09:35 +01:00
tygyh
120ee6b6c0 Fix typos 2022-07-15 18:59:37 +02:00
Joshua Barretto
26202c294f Better biome distribution 2022-07-15 17:53:24 +01:00
tygyh
abdd5e3906 Lift return out of if-statements 2022-07-15 16:36:11 +02:00
tygyh
fb7bdd8bf8 Fix deprecated imports 2022-07-15 16:17:19 +02:00
tygyh
cbe4d9d807 Remove unused imports 2022-07-15 16:00:27 +02:00
tygyh
997a572647 Simplify assertions 2022-07-15 15:52:52 +02:00
Joshua Barretto
5b8bdb9c9c Cave entity spawns 2022-07-15 14:15:42 +01:00
tygyh
5e5698249b Remove unnecessarily qualified paths 2022-07-15 14:49:46 +02:00
Joshua Barretto
4ca1c9ddf4 Gems and ores 2022-07-15 08:43:35 +01:00
Joshua Barretto
1a3b1e48da Better cave shape variety 2022-07-15 08:43:35 +01:00
Joshua Barretto
f4e50d18df Better ice 2022-07-15 08:43:35 +01:00
Joshua Barretto
a9c9a9d0d2 Ice caves 2022-07-15 08:43:35 +01:00
Joshua Barretto
e97d58011e Made trees and cave entrances play better 2022-07-15 08:43:35 +01:00
Joshua Barretto
629c4dbdb7 Prevented cave/water intersection 2022-07-15 08:43:35 +01:00
Joshua Barretto
f3cfff424d Distinct mushroom and leafy biomes 2022-07-15 08:43:34 +01:00
Joshua Barretto
7353c6f02b Better mushroom placement 2022-07-15 08:43:34 +01:00
Joshua Barretto
a39901d24c Better cave entrance locations 2022-07-15 08:43:34 +01:00
Joshua Barretto
9ad32b37e7 More efficient texture fetches 2022-07-15 08:43:34 +01:00
Joshua Barretto
07fc53f9bc No walls outside caves 2022-07-15 08:43:34 +01:00
Joshua Barretto
2694f5f917 Fixed lava 2022-07-15 08:43:34 +01:00
Joshua Barretto
07ba4dcc33 Fixed particles for non-body entities, AO for non-volumetric illumination 2022-07-15 08:43:34 +01:00