484 Commits

Author SHA1 Message Date
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
Marc Gilleron
0bf72badbd Fix dangling mesh block position upon removal from map, when such block had a pending update 2021-12-16 22:59:31 +00:00
Marc Gilleron
0bea05824a Formatting 2021-12-16 22:17:52 +00:00
Marc Gilleron
f67077b698 Fix wrong condition for unloading mesh blocks 2021-12-16 22:17:20 +00:00
Marc Gilleron
03d3016ecf Remove some pre-set resource properties to fix a Godot4 warning (sorry) 2021-12-16 01:30:31 +00:00
Marc Gilleron
267bde13fb Added gi_mode property to VoxelNode to specify GI behavior 2021-12-16 00:11:11 +00:00
Marc Gilleron
35f09b7f72 Fix stack overflow when instancing a terrain node in editor 2021-12-14 01:28:10 +00:00
Marc Gilleron
3596c13475 Renamed set_process_mode to set_process_callback to fix conflict with newly renamed Godot4 Node method 2021-12-14 00:10:09 +00:00
Marc Gilleron
922f361cb0 Made it compile in Godot 4
- Made a bunch of changes to comply with Godot 4 API
- Use Godot's Vector3i and add the missing stuff with helper functions
- Transvoxel uses custom attributes API, the old way would not work
- Wrap MeshOptimizer in a unique namespace (see build script why)
- Added clang-format file for the module as some rules now differ
- Prevent thirdparty code and lookup tables from being clang-formatted
- Very likely full of runtime bugs that need fixing
2021-12-13 21:38:10 +00:00
Marc Gilleron
758aa07280 Fix shadowing issues (including a crash-worthy one) 2021-12-12 00:16:18 +00:00
Marc Gilleron
380e295d94 Merge branch 'master' into full_load_mode
# Conflicts:
#	meshers/transvoxel/transvoxel.h
#	server/voxel_server.cpp
#	terrain/voxel_lod_terrain.cpp
2021-12-11 22:59:24 +00:00
Marc Gilleron
c17914b2c8 Formatting due to update of Godot's clang-format 2021-11-12 21:42:28 +00:00
Marc Gilleron
801545c68d Unnecessary include 2021-11-06 23:24:52 +00:00
Marc Gilleron
d32dfc9c67 Fixed collision shapes not being saved 2021-10-31 20:13:44 +00:00
Marc Gilleron
536d1f11da Fixed scene property neither being exposed nor being saved 2021-10-31 20:13:27 +00:00
Marc Gilleron
ca7ac42cde Merge branch 'master' into full_load_mode
# Conflicts:
#	edition/voxel_tool_lod_terrain.cpp
#	generators/graph/voxel_generator_graph.cpp
#	terrain/voxel_lod_terrain.cpp
2021-10-31 16:17:27 +00:00
Marc Gilleron
6441d1b864 Deprecate Vector3i(Vector3) constructor, make conversions explicit
Some conversions were wrong/unintented.
This is also in prevision of using Godot 4 Vector3i,
which default behavior differs from this module.
2021-10-31 16:01:47 +00: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
b2315a6cc4 Check earlier for invalid extents 2021-10-28 23:51:30 +01:00
Marc Gilleron
3133834a17 Check AABB size before using it 2021-10-27 19:49:37 +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
375c68b0de Merge branch 'master' into full_load_mode 2021-10-13 20:29:58 +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
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