diff --git a/modules/terrain/TODO.org b/modules/terrain/TODO.org index 11cdf692..060ea7fb 100644 --- a/modules/terrain/TODO.org +++ b/modules/terrain/TODO.org @@ -1,9 +1,13 @@ - [x] Cache chunk meshes - [ ] Noise modifier - [ ] Min/Max modifier -- [ ] Only load Defined chunks +- [ ] Only load defined chunks +- [ ] More accurate modifier bounds - [ ] Separate terrain module into it's own repository - [ ] Texturing step - [ ] Use Semaphores in mesh gen multi-threading -- [ ] Separate files for terrain modifiers -- [ ] Stop threads when generation finishes +- [ ] Separate source files for terrain modifiers +- [x] Stop threads when generation finishes +- [ ] Regenerate chunks when deleting/reordering modifiers +- [ ] Stop processing terrain after generation is complete +- [ ] Don't start generation threads if all meshes are cached diff --git a/modules/terrain/terrain.cpp b/modules/terrain/terrain.cpp index c41eaef5..0adf72b8 100644 --- a/modules/terrain/terrain.cpp +++ b/modules/terrain/terrain.cpp @@ -108,6 +108,7 @@ void Terrain::_notification(int what) { construct_chunk_grid(); synchronous_generate_terrain(); } + set_process(true); return; } case NOTIFICATION_PROCESS: diff --git a/project/scenes/terrain_test.scn b/project/scenes/terrain_test.scn index d294613a..0d60d4bb 100644 Binary files a/project/scenes/terrain_test.scn and b/project/scenes/terrain_test.scn differ