25 Commits

Author SHA1 Message Date
Marc Gilleron
884a5c38d4 Fix test 2021-10-01 21:20:49 +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
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
30db0c5193 Split VoxelBuffer in two, script-facing wrapper and internal.
The internal is the main use within the voxel engine,
and does not inherit Reference.
2021-09-26 04:14:50 +01:00
Marc Gilleron
979e5c9c47 VoxelTool.paste now only expects 0xffffffff to turn off masking.
Before it was 0xffffffffffffffff, which the GDScript parser no longer
accepts because it is greater than INT64_MAX.
In the future we may rework this API.
2021-09-24 02:09:58 +01:00
Marc Gilleron
e602b9bffe Merge branch 'master' into octree_compression
# Conflicts:
#	tests/tests.cpp
2021-09-19 20:15:16 +01:00
Marc Gilleron
3cf2e92483 Optimized Curve range analysis by dividing it into monotonic sections 2021-09-19 18:20:54 +01:00
Marc Gilleron
dea1d5eb41 Quick test addition for measuring time 2021-09-17 21:39:50 +01:00
Marc Gilleron
802188f876 Added octree tests 2021-09-16 21:03:44 +01:00
Marc Gilleron
9aa4c8242c Two boxes touching on the side but not overlapping should not be considered intersecting 2021-09-16 20:49:17 +01:00
Marc Gilleron
026c14fcb5 Added importer to import vox files into a single mesh
- New importer, needs restart to switch but it's a limitation of Godot
- Might blow up if the scene spans a really big area, may be optimized in the future.
- The scene importer remains the default choice
- Promoted some ints to 64-bit to avoid oveflowing with large volumes or distances
- Handle a few cases of malloc failure
2021-08-14 16:49:46 +01:00
Marc Gilleron
149eb2a873 Added test for instance data serialization 2021-07-18 19:42:42 +01:00
Marc Gilleron
5fcd7f7363 Added mesh optimization option to Transvoxel, using MeshOptimizer 2021-07-11 16:19:49 +01:00
Marc Gilleron
fdcdfdf093 Added test for unordered_remove_if 2021-07-10 20:13:10 +01:00
Marc Gilleron
b538a0beb8 Moved noise tests to tests folder 2021-06-19 18:34:50 +01:00
Marc Gilleron
1ee5bcb80d Renamed Rect3i -> Box3i 2021-05-31 17:12:04 +01:00
Marc Gilleron
411be94559 Renamed ArraySlice -> Span 2021-05-31 16:48:49 +01:00
Marc Gilleron
2e9d817246 Moved VoxelDataMap to storage/ folder 2021-05-31 16:27:08 +01:00
Marc Gilleron
8975a93c9b Fixed bad buffer adresses when multiple outputs are used
This was mainly apparent when optimization was enabled.
It caused outputs to be left uninitialized and either work by chance
or provide the wrong values.
2021-05-31 00:05:42 +01:00
Marc Gilleron
4cc47b9036 Extracted some functions from VoxelBuffer, optimized copy/paste a little 2021-05-24 23:23:50 +01:00
Marc Gilleron
fc0239afc8 Fix test 2021-05-24 23:14:23 +01:00
Marc Gilleron
5d72f1fa66 Added test for encode_weights_packed_u16 2021-05-23 20:28:25 +01:00
Marc Gilleron
9b3263d68b Fix copy 2021-05-15 16:31:36 +01:00
Marc Gilleron
c19b60647c Fix paste() with mask 2021-05-08 20:37:54 +01:00
Marc Gilleron
9bcc3580d6 Added first C++ test 2021-04-03 20:40:35 +01:00