1415 Commits

Author SHA1 Message Date
Marc Gilleron
38ec2f43d1 Align program memory of VoxelGraphRuntime 2021-10-28 19:32:38 +01:00
Marc Gilleron
3133834a17 Check AABB size before using it 2021-10-27 19:49:37 +01:00
Marc Gilleron
97f6765831 Fix memory leak in VoxelGraphRuntime (one leak per thread that ran any) 2021-10-26 20:41:28 +01:00
Marc Gilleron
4fc6731b8d Prevent instancing VoxelTool classes manually 2021-10-26 20:17:40 +01:00
Marc Gilleron
6cd143d392 Enable collisions by default on VoxelViewer 2021-10-15 22:51:53 +01:00
Marc Gilleron
a99d166112 Should not be in the repo 2021-10-14 19:38:50 +01:00
Marc Gilleron
fcca722d52 Fix signedness 2021-10-13 22:00:42 +01:00
Marc Gilleron
daf7bf821a Fix compilation 2021-10-13 21:50:47 +01:00
Marc Gilleron
39184ddb61 Merge branch 'master' into full_load_mode 2021-10-13 21:04:17 +01:00
Marc Gilleron
1079a80bf8 Fixed (I hope) the error sometimes happening when using floating chunk separation 2021-10-13 21:03:59 +01:00
Marc Gilleron
375c68b0de Merge branch 'master' into full_load_mode 2021-10-13 20:29:58 +01:00
Marc Gilleron
60ac14a745 Added one more SI level for number size 2021-10-13 20:29:43 +01:00
Marc Gilleron
a226111818 Run edits after preloads without a sync point on the main thread
- Still room for improvement, more parallelism is possible
- Started moving the data into its own structure
- Added locks to secure access to the data map (not truly used yet)
- Tasks with a tracker can schedule next ones when they complete
- Data loading responses also come with a callback, no buffer anymore
- Use new data grid to cache map access
2021-10-13 20:28:20 +01:00
Marc Gilleron
a2096b2014 Fix heightmap generators when used with VoxelLodTerrain in blocky mode 2021-10-08 02:35:52 +01:00
Marc Gilleron
62447c7133 Moved some temporary vectors away from members.
They can be static thread locals since the whole point is to
re-use their allocated capacity. We don't need them to retain
any state between two calls to _process.
2021-10-06 18:34:02 +01:00
Marc Gilleron
123a3e3c9d Split VoxelLodTerrain::_process into sub-functions 2021-10-05 20:47:28 +01:00
Marc Gilleron
ceb8553e4a Avoid crash if the argument is invalid (though it's not really a public function) 2021-10-04 20:15:32 +01:00
Marc Gilleron
3597bce3e5 Update threads section 2021-10-04 19:34:01 +01:00
Marc Gilleron
c5b0ac43fb Semi-async do_sphere() implementation. May change though.
It is a lot better than the fully synchronous do_sphere(),
but it would be a lot better if we could move everything async
2021-10-04 19:20:36 +01:00
Marc Gilleron
1d62649b9a Fix leaking Pool objects 2021-10-04 01:36:15 +01:00
Marc Gilleron
c921922a44 Fix missing assignment 2021-10-04 01:33:32 +01:00
Marc Gilleron
191659ae7c Fix voxel mips saved at wrong positions, caused them to show up often in the air 2021-10-04 01:32:12 +01:00
Marc Gilleron
c5972a420e Fix compilation and gizmos 2021-10-03 15:47:56 +01:00
Marc Gilleron
bb7311b282 Merge branch 'master' into full_load_mode 2021-10-03 02:48:46 +01:00
Marc Gilleron
e75ba2eec2 Mention a few rendering points 2021-10-03 02:30:35 +01:00
Marc Gilleron
e04091f3cb Added full load mode to VoxelLodTerrain
With this mode enabled, editing anywhere becomes possible.
All edited blocks are loaded at once when the stream is assigned.
The generator is used on the fly to fill the gaps, instead of being
pre-emptively cached only nearby the viewer to allow editing.
Editing is still on the main thread, so this can cause stalls if
the generator is complex. There is also no controlled limit on how
much data gets loaded, so if edited data is larger than RAM, it will
not be playable. The feature is already quite usable, but more work
may be done for wider viability.
2021-10-03 01:48:07 +01:00
Marc Gilleron
33b66153dc Use span instead of requiring a vector 2021-10-03 01:32:01 +01:00
Marc Gilleron
16b7445d1d Changing data block size is not supported at the moment 2021-10-03 01:28:29 +01:00
Marc Gilleron
e6f1be6ac3 Use same defaults as VoxelBuffer 2021-10-02 18:53:04 +01:00
Marc Gilleron
c6b2275738 Fix some stats and add VoxelMemoryPool info 2021-10-02 18:31:48 +01:00
Marc Gilleron
884a5c38d4 Fix test 2021-10-01 21:20:49 +01:00
Marc Gilleron
5f9d5ae17f Show memory usage, use comma formatting for big numbers, shorten labels 2021-10-01 20:33:52 +01:00
Marc Gilleron
228e41b71e Fixed writing out of bounds when the whole buffer is copied 2021-10-01 19:31:30 +01:00
Marc Gilleron
f5ecd42057 Detail about block transfer 2021-10-01 00:56:03 +01:00
Marc Gilleron
290d489d96 Use const 2021-10-01 00:55:22 +01:00
Marc Gilleron
c90170e92e Don't use macro 2021-10-01 00:54:52 +01:00
Marc Gilleron
bfc4c0d363 Fix memory corruption occurring after writing out of bounds.
Found this after using VoxelBufferInternal in a pattern that was never
used before. Added reproduction as a test.
2021-10-01 00:54:34 +01:00
Marc Gilleron
a74ea392fa Fix formatting 2021-09-29 18:46:39 +01:00
Marc Gilleron
100b6d1816 Switch to unordered_map, slightly better performance 2021-09-28 22:37:37 +01:00
Marc Gilleron
ac3ecbba14 Unfortunately that CSS change doesn't work. I don't know how to fix that. 2021-09-27 00:10:06 +01:00
Marc Gilleron
024b9326cc Fix last nav item in the doc covered by a fixed box 2021-09-26 23:33:24 +01:00
Marc Gilleron
c0384a4389 Fix signedness 2021-09-26 21:10:54 +01:00
Marc Gilleron
788e61cefd Update changelog 2021-09-26 21:10:41 +01:00
Marc Gilleron
298f318886 Make about window popup larger 2021-09-26 19:33:59 +01:00
Marc Gilleron
6873f2a6b1 Added third-party licenses to about window 2021-09-26 19:33:44 +01:00
Marc Gilleron
d4f1526ef2 Fix ok button not closing the window 2021-09-26 19:33:09 +01:00
Marc Gilleron
3f8f8140e0 Make ok button larger, as all ok buttons should be in Godot (but aren't) 2021-09-26 19:32:16 +01:00
Marc Gilleron
186bbfc22e Fix accentued characters in about window 2021-09-26 19:31:28 +01:00
Marc Gilleron
a107e5f076 Fix enum comparisons (2) 2021-09-26 17:36:56 +01:00
Marc Gilleron
87f086b26e Fix enum comparisons 2021-09-26 17:21:44 +01:00