129 Commits

Author SHA1 Message Date
Marc Gilleron
824a2955a9 Split VoxelGraphRuntime into several files 2022-04-15 16:09:35 +01:00
Marc Gilleron
bfa24402ac Renamed util/funcs.h => container_funcs.h 2022-04-14 21:43:45 +01:00
Marc Gilleron
5a2624735e Added experimental shader generation from voxel graph 2022-04-13 00:06:20 +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
18584f4e87 Added per-node profiling info 2022-04-10 14:42:40 +01:00
Marc Gilleron
219c7bfda3 Changed prefix of profiling macros 2022-04-09 15:33:08 +01:00
Marc Gilleron
ab5d3a22d3 Abstract logging for verbose print 2022-04-09 15:00:34 +01:00
Marc Gilleron
5afab83cd6 Include less things from macros.h 2022-04-09 00:53:51 +01:00
Marc Gilleron
22f17f6294 Fix macro not usable in release builds 2022-04-07 22:33:21 +01:00
Marc Gilleron
6663fdad92 Fix signedness warning 2022-04-07 21:05:05 +01:00
Marc Gilleron
2fece1d892 VoxelGraphNodeDB::get_singleton() must not return null, changed to reference 2022-04-07 20:44:43 +01:00
Marc Gilleron
96224c2231 ProgramGraph::get_node() must not return null, changed to a reference 2022-04-07 20:35:11 +01:00
Marc Gilleron
5519054c01 Unify macro prefixes 2022-04-06 23:26:54 +01:00
Marc Gilleron
090d3485e5 Use unique pointers in ExpressionParser 2022-04-06 22:00:32 +01:00
Marc Gilleron
0e523f79fe Added functions to expression node 2022-04-06 01:13:38 +01:00
Marc Gilleron
4634cfac0e Merge branch 'master' into expression_node 2022-04-04 22:43:05 +01:00
Marc Gilleron
9c81ccc5ba Use special TTR macro for non-editor code
Because TTR is not available in non-editor builds
2022-04-04 00:20:36 +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
f631d8880c Added configuration warnings to resources 2022-03-06 01:10:47 +00:00
Marc Gilleron
72e714e15b Added OutputSingleTexture node for outputting a single texture index per voxel 2022-02-27 22:07:42 +00:00
Marc Gilleron
6b6255e93d This should be integer weights 2022-02-27 22:06:53 +00:00
Marc Gilleron
493b93a051 SDF is now encoded with inorm8 and inorm16 2022-02-26 22:51:29 +00:00
Marc Gilleron
0e54920afb Replace existing connection if dragging from/to an input port having one already 2022-02-20 16:57:29 +00:00
Marc Gilleron
729b2a3391 Unnecessary includes 2022-02-20 13:31:25 +00:00
Marc Gilleron
b3faec2bef Removed voxel_block_request.h, use specialized structs 2022-02-12 23:37:02 +00:00
Marc Gilleron
a9ba6e0056 Unconnected inputs show their default value directly on the node 2022-02-05 20:09:09 +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
b67ca3d903 Namespaced every registered class 2022-01-09 22:16:44 +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
8d6a24833c Fix changing node name not working 2022-01-07 23:40:46 +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
0ff835d7ec Namespace ProfilingClock 2022-01-03 01:40:13 +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
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
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
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
30db0c5193 Split VoxelBuffer in two, script-facing wrapper and internal.
The internal is the main use within the voxel engine,
and does not inherit Reference.
2021-09-26 04:14:50 +01:00
Marc Gilleron
b8f21f91fc Fix VoxelGeneratorGraph sub-resources not registered when duplicate() is used 2021-09-25 17:34:43 +01:00