225 Commits

Author SHA1 Message Date
Marc Gilleron
8b15cdf604 Can be const 2022-02-05 16:27:52 +00:00
Marc Gilleron
5685e3c41e Use references instead of pointers, they should not be null 2022-02-05 16:23:03 +00:00
Marc Gilleron
239a87a6e9 Moved noise and SDF range utilities to util/ 2022-02-05 16:14:57 +00:00
Marc Gilleron
b8e8ba84b0 Added support for outputting to the TYPE channel from VoxelGeneratorGraph 2022-02-05 00:45:17 +00:00
Marc Gilleron
78b5b8644d Formatting 2022-02-04 22:52:17 +00:00
Marc Gilleron
5c75d2fcc4 Fix bad hash function 2022-02-04 22:52:07 +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
b7e56c6bec Moved other tasks out of VoxelServer 2022-02-02 21:03:09 +00:00
Marc Gilleron
08f3786ff6 Use typed code instead of strings in property hints 2022-01-16 16:04:25 +00:00
Marc Gilleron
b67ca3d903 Namespaced every registered class 2022-01-09 22:16:44 +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
2265de6aef Fix unused variables warning
I wish to use them but can't at the moment, leaving commented as reminder
2022-01-08 23:49:40 +00:00
Marc Gilleron
26fd961a36 Fix missing namespace
The previous commit made GCC's trouble much clearer
2022-01-08 23:43:19 +00:00
Marc Gilleron
b3eeec40f3 Fix GCC not finding the right invocation of max() 2022-01-08 23:34:05 +00:00
Marc Gilleron
38baeae2d9 Namespaced VoxelBufferInternal 2022-01-08 22:49:59 +00:00
Marc Gilleron
fad9537303 Print an error early if VoxelGeneratorImage is given an image of unsupported format.
Otherwise it would spam-print while generating.
2022-01-08 22:48:21 +00:00
Marc Gilleron
9346b351fc Merge branch 'godot4'
# Conflicts:
#	doc/source/changelog.md
#	editor/about_window.cpp
#	generators/graph/image_range_grid.cpp
#	generators/graph/range_utility.cpp
#	generators/graph/voxel_generator_graph.cpp
#	terrain/instancing/voxel_instance_generator.h
#	util/voxel_raycast.h
2022-01-08 01:20:45 +00:00
Marc Gilleron
d98c3b0836 Fix image formats L8 and LA8 not being accepted by the Image2D node (picked from cef8bd927aee8d6c2ee55e07b9d2d6702ddb38d7) 2022-01-08 00:36:30 +00:00
Marc Gilleron
8d6a24833c Fix changing node name not working 2022-01-07 23:40:46 +00:00
Marc Gilleron
cef8bd927a Fix image formats L8 and LA8 not being accepted by the Image2D node 2022-01-05 00:03:39 +00:00
Marc Gilleron
e20684ce69 Namespaced math funcs 2022-01-03 23:14:18 +00:00
Marc Gilleron
a9476227cb Namespaced Interval 2022-01-03 22:29:39 +00:00
Marc Gilleron
c0cda5d7a7 Use namespaces in some cpp files that would otherwise be in those namespaces (but aren't because they are registered classes) 2022-01-03 22:01:11 +00:00
Marc Gilleron
492f660831 Namespaced ProgramGraph 2022-01-03 04:47:05 +00:00
Marc Gilleron
4259ea5b80 Namespaced VoxelGraphRuntime 2022-01-03 04:29:53 +00:00
Marc Gilleron
e68f59643b Namespaced VoxelGraphNodeDB 2022-01-03 03:55:44 +00:00
Marc Gilleron
8777bb2bf1 Namespace ImageRangeGrid 2022-01-03 03:39:59 +00:00
Marc Gilleron
5bb4efa204 Namespaced range_utility 2022-01-03 03:31:24 +00:00
Marc Gilleron
24e9e36434 Namespace SDF functions 2022-01-03 03:18:58 +00:00
Marc Gilleron
0ff835d7ec Namespace ProfilingClock 2022-01-03 01:40:13 +00:00
Marc Gilleron
174911cce8 Fix noise properties not showing in inspector 2022-01-01 03:53:39 +00:00
Marc Gilleron
1e89a7b75d FastNoise2 conditional compilation 2021-12-31 21:22:30 +00:00
Marc Gilleron
c47050e29e Optimize SDF slice copy 2021-12-31 21:14:38 +00:00
Marc Gilleron
204b64ac23 Added FastNoise2 to VoxelGeneratorGraph 2021-12-31 18:23:42 +00:00
Marc Gilleron
2f71b79904 More uses of Time singleton 2021-12-29 17:18:49 +00:00
Marc Gilleron
90c4692105 Fix setting node name 2021-12-28 19:25:21 +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
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
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
d5a69003c3 Add missing classes and run doctool (doctool has issues though)
VoxelGeneratorHeightmap.height_range is wrong in the doc.
VoxelTool lost all default values in doc.
These are likely Godot bugs...
2021-11-06 02:04:16 +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
0fc9e6b313 Fix crash when given negative-size area 2021-10-29 18:25:52 +01:00
Marc Gilleron
38ec2f43d1 Align program memory of VoxelGraphRuntime 2021-10-28 19:32:38 +01:00
Marc Gilleron
97f6765831 Fix memory leak in VoxelGraphRuntime (one leak per thread that ran any) 2021-10-26 20:41:28 +01:00
Marc Gilleron
375c68b0de Merge branch 'master' into full_load_mode 2021-10-13 20:29:58 +01:00
Marc Gilleron
a2096b2014 Fix heightmap generators when used with VoxelLodTerrain in blocky mode 2021-10-08 02:35:52 +01:00
Marc Gilleron
e04091f3cb Added full load mode to VoxelLodTerrain
With this mode enabled, editing anywhere becomes possible.
All edited blocks are loaded at once when the stream is assigned.
The generator is used on the fly to fill the gaps, instead of being
pre-emptively cached only nearby the viewer to allow editing.
Editing is still on the main thread, so this can cause stalls if
the generator is complex. There is also no controlled limit on how
much data gets loaded, so if edited data is larger than RAM, it will
not be playable. The feature is already quite usable, but more work
may be done for wider viability.
2021-10-03 01:48:07 +01:00
Marc Gilleron
87f086b26e Fix enum comparisons 2021-09-26 17:21:44 +01:00