1801 Commits

Author SHA1 Message Date
Marc Gilleron
6d3b84eed5 Comments 2022-04-03 20:57:01 +01:00
Marc Gilleron
e0008d3335 Fix compilation now Godot comes with its own FastNoiseLite.
The version shipped with the module is now prefixed.
Removed usages of OpenSimplexNoise.
2022-04-03 20:07:17 +01:00
Marc Gilleron
646cbacd64 Added Expression node to VoxelGeneratorGraph. Needs polishing.
Some things to do:
- Support function calls
- Show expression in the node GUI, eventually edit it there
- Optimize power function
2022-04-03 16:43:04 +01:00
Marc Gilleron
68f8aa6092 Use larger integer type to store time 2022-04-02 19:36:21 +01:00
Marc Gilleron
fd0f524bf5 Commented unused variable for now to avoid warning 2022-03-31 22:51:48 +01:00
Marc Gilleron
0c091a5fbd Fix wrong macro 2022-03-31 22:49:53 +01:00
Marc Gilleron
ee64ce28cb Remove redundant pre-declaration 2022-03-31 22:49:25 +01:00
Marc Gilleron
dcc7d85a52 Fix Vector3i initialization from single integer 2022-03-31 22:40:39 +01:00
Marc Gilleron
83dfd271a6 Fixed inverted variables in debug message 2022-03-30 23:17:48 +01:00
Marc Gilleron
96cae8f1dd Added command line variable to toggle FastNoise2 support 2022-03-30 23:17:27 +01:00
Marc Gilleron
61b27491f9 Initial implementation of binary search in Transvoxel.
It is very slow but seems to be working. It affines vertex positions,
but normals are not improved. Maybe more work will be done in the future
if that technique becomes more relevant.

Partly based on a prior experiment:
11f716f79d0ade59c0e9547a2333183e96b17b43
2022-03-27 21:36:30 +01:00
Marc Gilleron
f53f0a520d Require explicit parameters (were also not used) 2022-03-27 17:06:43 +01:00
Marc Gilleron
4c3777ce00 Small precisions 2022-03-26 22:28:35 +00: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
91a3abd188 Expose function to update FastNoise2 generator 2022-03-26 15:59:39 +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
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
e8d50984a0 Update changelog 2022-03-20 23:13:16 +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
f6b361f553 Missing class from doc config 2022-03-20 19:04:38 +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
f25a019c62 Added a command line argument to compile tests 2022-03-20 18:29:31 +00:00
Marc Gilleron
d413e807b5 Indentation to 4 spaces 2022-03-20 17:20:31 +00:00
Marc Gilleron
cda68657b0 Don't crash when connecting a debug preview to an input 2022-03-20 16:50:18 +00:00
Marc Gilleron
a6196bd84d Added test for serializing blocks with the StreamPeerBuffer API 2022-03-20 14:54:10 +00:00
Marc Gilleron
3c3822b019 Fix warning method name 2022-03-20 14:49:46 +00:00
Marc Gilleron
d4b1178d61 Fix Transvoxel when the surface lines up with integer coordinates 2022-03-19 22:45:12 +00:00
Marc Gilleron
bf946db0ef Fix setting mesher and stream of VoxelLodTerrain 2022-03-19 22:43:57 +00:00
Marc Gilleron
47b8ca4e76 Fix GCC finding the conversion ambiguous 2022-03-19 21:10:40 +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
8e6edbb4e0 New stuff is only on master branch 2022-03-18 20:59:18 +00:00
Marc Gilleron
7f106f4358 Fix broken transition updates 2022-03-16 00:05:04 +00:00
Marc Gilleron
6987cbc8b8 Added dynamic message profiler macro 2022-03-15 20:03:35 +00:00
Marc Gilleron
5ddcbc2065 Added optional threaded execution of VoxelLodTerrain's process function 2022-03-15 00:29:39 +00:00