1472 Commits

Author SHA1 Message Date
Marc Gilleron
05386d8512 Fix list formatting 2021-10-31 14:20:30 +00:00
Marc
61d5d09372
Merge pull request #318 from qarmin/master
Add test CI and fuzzer
2021-10-31 14:19:57 +00:00
Rafał Mikrut
c0f4271c5e Add test CI and fuzzer 2021-10-29 19:55:56 +02:00
Marc Gilleron
0fc9e6b313 Fix crash when given negative-size area 2021-10-29 18:25:52 +01:00
Marc Gilleron
325406ede1 Decrease MAX_LOD to avoid potential integer overflows
I preferred doing this instead of using 64-bit integers,
because I tink there are no use cases for LOD blocks that big
2021-10-28 23:55:46 +01:00
Marc Gilleron
59a7c3192e Soft-crash also when divisor is zero, MSVC debugger doesn't break on that 2021-10-28 23:52:18 +01:00
Marc Gilleron
b2315a6cc4 Check earlier for invalid extents 2021-10-28 23:51:30 +01:00
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