459 Commits

Author SHA1 Message Date
Marc Gilleron
e958739759 Fix some narrowing conversions 2022-02-13 16:19:54 +00:00
Marc Gilleron
942fc9e980 Option to show octree nodes in editor 2022-02-13 01:19:21 +00:00
Marc Gilleron
b3faec2bef Removed voxel_block_request.h, use specialized structs 2022-02-12 23:37:02 +00:00
Marc Gilleron
d18bbe0376 Made LodOctree more generic
- `update` now solely relies on predicates to split/join
- Removed some member variables only used in the older update
- Distance checks now use "octree space", elininates some coordinate
  conversions which are now done up-front
2022-02-12 18:09:46 +00:00
Marc Gilleron
27a9c94e44 Fixed inexistent parameter 2022-02-07 22:06:56 +00:00
Marc Gilleron
91bbe56cea Added missing bindings 2022-02-07 22:06:24 +00:00
Marc Gilleron
f1c59d452a Removed more Vector<T> usages.
Remaining uses are necessary to communicate with Godot APIs.
2022-02-06 22:26:30 +00:00
Marc Gilleron
98eed9adba Remove some usages of Vector<T>. Also fixed some indexing issues in streams.
Reason: in a future port to GDExtension, that class won't be available.
This may also apply to Map and HashMap.

Note: the issues in streams were not hit so far because they are in
multi-block load/save functions. We've been loading and saving blocks
one by one at the moment.
2022-02-06 21:26:48 +00:00
Marc Gilleron
ba1930769f Use NonCopyable 2022-02-06 00:37:52 +00:00
Marc Gilleron
2b610f83e3 Fix GCC warning 2022-02-05 17:12:31 +00:00
Marc Gilleron
239a87a6e9 Moved noise and SDF range utilities to util/ 2022-02-05 16:14:57 +00:00
Marc Gilleron
f1694b08ec Remove a few unnecessary usages of the wrapper version of VoxelBuffer 2022-02-03 00:02:10 +00:00
Marc Gilleron
437540da0b Moved VoxelRefCount to utils 2022-01-31 21:29:08 +00:00
Marc Gilleron
d1250ef0ad Added support functions to help setting up basic multiplayer with VoxelTerrain.
These might change in the future. Will have to test that later,
when Godot 4 gets more stable.
2022-01-31 21:23:39 +00:00
Marc Gilleron
08f3786ff6 Use typed code instead of strings in property hints 2022-01-16 16:04:25 +00:00
Marc Gilleron
ec19e7565d Moved member var into an internal TLS 2022-01-16 03:59:15 +00:00
Marc Gilleron
fefb014637 Support setting up mesh LODs from a scene with name LODx suffixes 2022-01-10 23:19:14 +00:00
Marc Gilleron
9454759b02 Renamed VoxelInstanceLibraryItem => VoxelInstanceLibraryMultiMeshItem 2022-01-10 22:56:32 +00:00
Marc Gilleron
f8b8b27ff2 Renamed Voxel => VoxelBlockyModel, VoxelLibrary => VoxelBlockyLibrary 2022-01-09 23:27:38 +00:00
Marc Gilleron
9c6118806f Namespaced remaining stuff 2022-01-09 22:46:26 +00:00
Marc Gilleron
b67ca3d903 Namespaced every registered class 2022-01-09 22:16:44 +00:00
Marc Gilleron
774adfca3c VoxelServer no longer inherits Object.
The Godot-facing singleton is now a different class in gd:: namespace.
Moved the updater to its own file.
2022-01-09 04:53:33 +00:00
Marc Gilleron
20c85e65a7 Re-namespaced OctreeTables and moved to dmc/, it's only used there 2022-01-09 03:34:02 +00:00
Marc Gilleron
e53dcf7c84 Re-namespaced VoxelConstants 2022-01-09 03:06:58 +00:00
Marc Gilleron
9c653b8a9f Namespaced FixedArray 2022-01-09 02:53:21 +00:00
Marc Gilleron
b112b620f7 Namespaced VoxelMeshBlock, VoxelMeshMap 2022-01-08 23:18:28 +00:00
Marc Gilleron
8166ebbfcf Namespaced VoxelDataBlock, VoxelDataGrid, VoxelDataMap 2022-01-08 23:04:49 +00:00
Marc Gilleron
38baeae2d9 Namespaced VoxelBufferInternal 2022-01-08 22:49:59 +00:00
Marc Gilleron
d5c16a63ae Namespaced DirectStaticBody 2022-01-04 23:07:53 +00:00
Marc Gilleron
c1073d1bae Namespaced DirectMultiMeshInstance 2022-01-04 23:07:23 +00:00
Marc Gilleron
14840634de Re-namespaced VoxelDebug 2022-01-04 22:57:21 +00:00
Marc Gilleron
abcb307170 Namespaced DirectMeshInstance 2022-01-04 22:37:37 +00:00
Marc Gilleron
64415a3c86 Configure clang-format to put a newline after template declarations 2022-01-04 22:15:57 +00:00
Marc Gilleron
0fee995c0f Namespaced godot utility funcs 2022-01-03 23:52:54 +00:00
Marc Gilleron
4ced432a3c Namespaced LodOctree 2022-01-03 23:42:31 +00:00
Marc Gilleron
e20684ce69 Namespaced math funcs 2022-01-03 23:14:18 +00:00
Marc Gilleron
0ff835d7ec Namespace ProfilingClock 2022-01-03 01:40:13 +00:00
Marc Gilleron
88811eb0df Don't show instancer gizmos by default 2022-01-01 03:45:33 +00:00
Marc Gilleron
3db4798e14 Draw instance chunks in editor 2021-12-30 22:20:30 +00:00
Marc Gilleron
fefb7fb434 Fix crash when removing an item from the library while an instancer node is using it.
The old code was assuming block indices don't change, but they do
2021-12-30 05:03:31 +00:00
Marc Gilleron
89f3343354 Allow to dump VoxelInstancer as scene for debug inspection 2021-12-30 04:25:42 +00:00
Marc Gilleron
2d7d09534a Fix VoxelInstancer not refreshing when an item is modified 2021-12-30 04:22:23 +00:00
Marc Gilleron
0be0fb19b0 Moved task stuff to utilities 2021-12-29 19:08:23 +00:00
Marc Gilleron
39d949f345 AsyncDependencyTracker does not depend on VoxelServer 2021-12-29 18:54:45 +00:00
Marc Gilleron
12caefe577 Renamed VoxelThreadPool => ThreadedTaskRunner and namespace it 2021-12-29 18:25:47 +00:00
Marc Gilleron
4d2fe30661 Use Time singleton 2021-12-29 17:06:24 +00:00
Marc Gilleron
0f67513a29 Move TimeSpreadTaskRunner to its own file and namespace 2021-12-29 15:12:28 +00:00
Marc Gilleron
541af4a4ad Spread out mesh destruction in attempt to workaround slow Vulkan buffer deallocation 2021-12-28 18:19:41 +00:00
Marc Gilleron
ea74c1f05f Fix wrong class name specified in VoxelTerrain material properties 2021-12-28 04:09:47 +00:00
Marc Gilleron
79d4223be4 Fix deadlock caused by read locks not being released 2021-12-23 23:55:43 +01:00