- The baking code no longer depends on Transvoxel
- Moved usage out of the Transvoxel mesher, but still uses its fastpath
for cells. There is still no "generic" path because there is no need yet.
- Moved settings on VoxelLodTerrain.
- The option for having it separate is hardcoded and both code paths still
exist. Not sure if that will be exposed or removed entirely.
- Still need to limit the frequency at which normalmaps are updated
- Would be nice to make this mesher-independent,
Transvoxel is just a fastpath
- Task priority might need improvement, it's a bit messy. Maybe use bands?
- Less draw calls
- Much faster rendering updates (about 5x),
although colliders are still the biggest bottleneck so when collision is
enabled this improvement isn't noticeable
- A shader is now always required to render Transvoxel properly.
TODO: integrate a default one when no material is assigned?
This effectively creates them after ALL main meshes have been built,
resulting in a seemingly faster convergence of LOD, however when moving
around it causes some cracks to appear briefly. This can be bad if the
terrain is dark and the underlying skybox is bright. Might need to be
optional, or find a different approach.
- 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