33 Commits

Author SHA1 Message Date
Marc Gilleron
f34d87d305 Simplified data VoxelDataMap structure 2022-06-04 02:23:56 +01:00
Marc Gilleron
6ab6f4a8b6 Unnecessary includes 2022-06-03 19:02:03 +01:00
Marc Gilleron
2ce4b92225 Fix changing mesh size not remeshing the terrain 2022-06-03 18:30:42 +01:00
Marc Gilleron
863c9a81b6 Unused enum 2022-05-22 21:20:54 +01:00
Marc Gilleron
b9c9b2bcee Schedule tasks more directly, remove VoxelServer data copies 2022-05-22 00:18:58 +01:00
Marc Gilleron
f899ae8fbb Added option to show octree grid in editor, now off by default 2022-05-21 22:00:01 +01:00
Marc Gilleron
4f862722ae Removed usages of Map 2022-05-17 19:44:58 +01:00
Marc Gilleron
12862a46d0 Changes to blocky materials
- They are now defined in each model
- VoxelTerrain no longer has material slots, except for a global override
- Models can have up to 2 materials instead of only one
2022-05-16 22:55:06 +01:00
Marc Gilleron
dff7386186 Moved conversions to conv.h 2022-05-07 20:34:06 +01:00
Marc Gilleron
adbfd3b584 floor_to_int to emphasize the return value converts to int 2022-05-02 14:49:40 +01:00
Marc Gilleron
a5e429de6f Moved some Vector3i function specializations to math:: namespace 2022-04-29 23:25:37 +01:00
Marc Gilleron
4e3d4d4ed8 Threading classes wrappers 2022-04-19 00:32:37 +01:00
Marc Gilleron
8aec9cf777 VoxelBufferInternal doesnt depend on Image 2022-04-16 16:07:45 +01:00
Marc Gilleron
bfa24402ac Renamed util/funcs.h => container_funcs.h 2022-04-14 21:43:45 +01:00
Marc Gilleron
87d98e9162 Engine-agnostic error macros 2022-04-11 02:10:44 +01:00
Marc Gilleron
0cc3801655 Define smart pointers default allocator in a single place 2022-04-10 20:10:33 +01:00
Marc Gilleron
19a69b059e VoxelInstancer supports VoxelTerrain, although Godot 4 multimeshes are buggy
See https://github.com/godotengine/godot/issues/56357
2022-04-09 20:40:03 +01:00
Marc Gilleron
219c7bfda3 Changed prefix of profiling macros 2022-04-09 15:33:08 +01:00
Marc Gilleron
adb2cd2fe9 Return a ref, pointer must not be null 2022-04-09 15:15:22 +01:00
Marc Gilleron
ab5d3a22d3 Abstract logging for verbose print 2022-04-09 15:00:34 +01:00
Marc Gilleron
ca83c720ff Return reference, pointer must not be null 2022-04-08 23:54:04 +01:00
Marc Gilleron
7517ec9a10 Merge branch 'expression_node'
# Conflicts:
#	server/load_all_blocks_data_task.cpp
2022-04-07 20:18:20 +01:00
Marc Gilleron
c4dddaa528 Remove unused function, use & references instead of Ref<T> 2022-04-07 19:44:29 +01:00
Marc Gilleron
5519054c01 Unify macro prefixes 2022-04-06 23:26:54 +01:00
Marc Gilleron
15bf2a6980 One more unused variable 2022-04-06 01:37:47 +01:00
Marc Gilleron
c9aa295b03 Fix unused variables 2022-04-06 01:31:51 +01:00
Marc Gilleron
297e2b3f92 Changing a material now updates existing meshes instead of only new ones (VoxelTerrain only) 2022-03-26 22:28:18 +00:00
Marc Gilleron
d2120155ab Don't update octrees every frame.
- Update when some nodes did not finish subdividing
- Update when viewer position changes by a large enough distance
- Update when LOD settings change
- Update when the terrain is reset
2022-03-26 15:59:03 +00:00
Marc Gilleron
3c1e4e2ab3 Reverted prefetch as the current code doesn't support editing LOD0 if upper lods aren't loaded.
This part needs to be designed before we can do things like that.
2022-03-24 00:25:51 +00:00
Marc Gilleron
3d747f6525 Schedule tasks in batches to reduce locking when many are sent 2022-03-22 20:51:56 +00:00
Marc Gilleron
8db923a75f Added experimental octree pre-fetching to speedup initial loading.
Unfortunately, the major bottleneck remains tasks on the main thread.
2022-03-22 19:37:00 +00:00
Marc Gilleron
c8a15602bb Removed unused variable 2022-03-20 23:13:07 +00:00
Marc Gilleron
8d8d8b336d Moved VoxelLodTerrain and VoxelTerrain stuff to their own folders 2022-03-20 22:57:53 +00:00