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
f53856f2c3
Made LodOctree update recursively.
...
If subdivision conditions are fulfilled, it no longer needs to be
updated several times to reach its target shape.
2022-03-22 19:35:52 +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
Marc Gilleron
f764fe7f1a
Switch to unordered_map
2022-03-20 22:32:33 +00:00
Marc Gilleron
e96f9ff562
Separate mesh block classes to remove unnecessary data in each
...
# Conflicts:
# terrain/voxel_lod_terrain.cpp
2022-03-20 22:04:53 +00:00
Marc Gilleron
ee60e0556e
Fix mesh blocks created by edition not visible
2022-03-20 22:03:19 +00:00
Marc Gilleron
cef16f670a
Use refs in VoxelDataBlock iteration, no null should be found
2022-03-20 19:28:50 +00:00
Marc Gilleron
d6203a917a
Use refs in VoxelMeshBlock iteration, no null should be found
2022-03-20 19:16:58 +00:00
Marc Gilleron
99e688e52c
Detect and log an error when a script tries to set the same data block on different positions
2022-03-20 18:47:51 +00:00
Marc Gilleron
669e5230ed
Update VoxelLodTerrain stats
2022-03-20 18:30:18 +00:00
Marc Gilleron
3c3822b019
Fix warning method name
2022-03-20 14:49:46 +00:00
Marc Gilleron
bf946db0ef
Fix setting mesher and stream of VoxelLodTerrain
2022-03-19 22:43:57 +00:00
Marc Gilleron
7964887aef
Fix iterator
2022-03-19 20:56:13 +00:00
Marc Gilleron
e99ffd64ea
Fix required typename
2022-03-19 20:22:35 +00:00
Marc Gilleron
79b1ebdaa0
Fix invalid member
2022-03-19 20:11:39 +00:00
Marc Gilleron
48670d9a8e
Separate mesh map data structures between updating and final
2022-03-19 19:43:33 +00:00
Marc Gilleron
775300c0f4
Remove old code
2022-03-19 19:39:39 +00:00
Marc Gilleron
a5d0f16430
Rename _on_data_block_enter => _on_data_block_entered
2022-03-19 19:39:24 +00:00
Marc Gilleron
c39bd4cb10
Expose getter and setter for VoxelViewer network peer ID
2022-03-19 19:38:36 +00:00
Marc Gilleron
7f106f4358
Fix broken transition updates
2022-03-16 00:05:04 +00:00
Marc Gilleron
5ddcbc2065
Added optional threaded execution of VoxelLodTerrain's process function
2022-03-15 00:29:39 +00:00
Marc Gilleron
4c68e7b298
Comments
2022-03-15 00:18:44 +00:00
Marc Gilleron
646618e78a
Avoid creating ArrayMesh instance if empty
2022-03-15 00:17:42 +00:00
Marc Gilleron
7277a6a79f
Renamed has_block => has_data_block
2022-03-14 23:48:23 +00:00
Marc Gilleron
c9edc64ae0
Fix compilation with newest Godot
2022-03-14 00:26:25 +00:00
Marc Gilleron
f631d8880c
Added configuration warnings to resources
2022-03-06 01:10:47 +00:00
Marc Gilleron
199d18c008
Don't leave nulls in array
2022-02-27 02:54:35 +00:00
Marc Gilleron
07d5f1fb2a
Fix float precision in VoxelBoxMover when compiling with 64-bit floats
2022-02-23 00:29:22 +00:00
Marc Gilleron
b72ffa260d
Rename for_all_blocks => for_each_block
2022-02-20 21:35:35 +00:00
Marc Gilleron
0137ca3036
Namespaced VoxelBuffer in gd::
because it is actually a wrapper
2022-02-15 21:49:20 +00:00
Marc Gilleron
9eeac4d908
Fix comparison signedness warning (7)
2022-02-13 19:10:38 +00:00
Marc Gilleron
949abb0358
Fix comparison signedness warning (6)
2022-02-13 18:57:46 +00:00
Marc Gilleron
ded04b86ce
Fix comparison signedness warning (5)
2022-02-13 18:50:33 +00:00
Marc Gilleron
268ed4b836
Fix comparison signedness warning (4)
2022-02-13 18:37:00 +00:00
Marc Gilleron
6e10277ead
Fix comparison signedness warning (3)
2022-02-13 18:16:05 +00:00
Marc Gilleron
21daedd5dc
Fix old struct type
2022-02-13 17:17:37 +00:00
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