7 Commits

Author SHA1 Message Date
Marc Gilleron
86ba74ce3a Some changes and fixes related modifiers
- VoxelLodTerrain no longer caches generated voxels by default, so
  generating on the fly is no longer exclusive to full load mode.
  Might add an option later, but not for now (VoxelTerrain is still
  unaffected and keeps caching them)
- The "Cached" state is represented with blocks having no voxel data,
  so it needs extra checks in some areas to avoid null access
- Fix generate task was not including modifiers after the base generator
- The "save_generator_output" option on streams now means such blocks are
  considered edited
- Modifying modifiers now clears cached generated blocks
  intersecting with them.
- Fix "re-generate" was erasing the internal stack of modifiers
- Added docs
2022-06-18 23:14:18 +01:00
Marc Gilleron
0e12e6dbf1 Initial WIP for SDF non-destructive voxel modifiers. Support is incomplete.
Some voxel queries and operations will not take modifiers into account.
It needs to be worked on, might involve some refactoring.
2022-06-09 20:35:29 +01:00
Marc Gilleron
4f862722ae Removed usages of Map 2022-05-17 19:44:58 +01:00
Marc Gilleron
d2120155ab Don't update octrees every frame.
- Update when some nodes did not finish subdividing
- Update when viewer position changes by a large enough distance
- Update when LOD settings change
- Update when the terrain is reset
2022-03-26 15:59:03 +00:00
Marc Gilleron
3c1e4e2ab3 Reverted prefetch as the current code doesn't support editing LOD0 if upper lods aren't loaded.
This part needs to be designed before we can do things like that.
2022-03-24 00:25:51 +00:00
Marc Gilleron
8db923a75f Added experimental octree pre-fetching to speedup initial loading.
Unfortunately, the major bottleneck remains tasks on the main thread.
2022-03-22 19:37:00 +00:00
Marc Gilleron
8d8d8b336d Moved VoxelLodTerrain and VoxelTerrain stuff to their own folders 2022-03-20 22:57:53 +00:00