23 Commits

Author SHA1 Message Date
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
059f490669 Renamed udiv => floordiv 2021-07-31 15:15:43 +01:00
Marc Gilleron
d436ed430f Fix world edge issue, mesh block area was not clipped 2021-06-13 19:00:47 +01:00
Marc Gilleron
1ee5bcb80d Renamed Rect3i -> Box3i 2021-05-31 17:12:04 +01:00
Marc Gilleron
63f207b5d5 Fix Rect3i::contains(rect), it was off by one on the upper sides 2021-05-29 23:12:11 +01:00
Marc Gilleron
0de2b1b9d0 Comments 2021-05-24 23:16:04 +01:00
Marc Gilleron
3b98fe8151 Doesnt seem to make a difference 2021-05-24 23:15:17 +01:00
Marc Gilleron
c82aab9f74 Remove redundant sorting function 2021-05-23 20:24:33 +01:00
Marc Gilleron
d5bd6c794b Merge branch 'master' into smooth_texturing 2021-05-07 21:48:11 +01:00
Marc Gilleron
d53e7dd530 Fixed several bugs related to VoxelTool::paste()
- One of the Rect3i constructors was wrong
- Rewrite clipping logic of VoxelBuffer::copy_from
- Fix VoxelDataMap::paste to provide correct offsets
- Fix meshing data copy to account for clipping adjustments
2021-05-07 18:38:02 +01:00
Marc Gilleron
0e2d7dc596 Comments and format 2021-04-25 20:23:52 +01:00
Marc Gilleron
10683ccd15 Comments 2021-04-15 20:35:31 +01:00
Marc Gilleron
310386bde8 Merge branch 'master' into block_size_decoupling 2021-04-11 01:09:51 +01:00
Marc Gilleron
26e42e3707 Sanity checks to prevent shifting by negative values 2021-04-10 17:46:15 +01:00
Marc Gilleron
2c6eb114b2 Fix order of SDF arguments 2021-04-07 00:05:38 +01:00
Marc Gilleron
758e3bd227 Allow to use block size 32 for mesh blocks while using 16 for data blocks
Still hardcoded but a config should be added
2021-04-03 20:39:37 +01:00
Marc Gilleron
9188ae619b Optimized several range analysis functions
- square, cube and polynomials are more precise
- lerp() is more precise
- smooth union and subtract are more precise
- fallback on simple min/max if smoothness is zero
2021-03-17 18:11:00 +00:00
Marc Gilleron
862e036317 More precise range analysis for FastNoiseLite 2021-03-14 18:47:23 +00:00
Marc Gilleron
43588cae17 Fix snapped implementation, it was not snapping size correctly 2021-03-12 23:33:29 +00:00
Marc Gilleron
09c815e253 Implemented copy and paste for VoxelToolTerrain (untested) 2021-02-21 18:23:56 +00:00
Marc Gilleron
71384e25bc Moved sdf functions to their own file 2021-02-21 18:18:01 +00:00
Marc Gilleron
b51897b8df Added voxel raycast to VoxelToolLodTerrain
- Made more precise with an option to use binary search (unoptimized)
- Distance along ray is now available in blocky terrains as well
2021-02-21 03:08:47 +00:00
Marc Gilleron
d1207bdd96 Reorganized some utility files 2021-02-17 20:34:35 +00:00