Commit Graph

288 Commits (173ee3e1984db1bd64ac318258a2e96a44e8fecd)

Author SHA1 Message Date
Marc Gilleron 4a290f27c0 Removed bounds support, it not really relevant anymore 2021-01-05 22:24:13 +00:00
Marc Gilleron 825fa4147b Main graph generator now uses buffers for blocks 2021-01-05 18:59:52 +00:00
Marc Gilleron 15fe9ecdeb Fix Wrong position buffer when stride is 1 2021-01-05 18:57:30 +00:00
Marc Gilleron dafb4f39ff First WIP to try per-buffer processing instead of per-voxel 2021-01-04 22:19:13 +00:00
Marc Gilleron 3364748fef Integrate FastNoiseLite to voxel graph generator 2021-01-03 20:23:45 +00:00
Marc Gilleron 3e31140ed8 Bind missing constant for the Normalize3D node 2021-01-02 00:58:01 +00:00
Marc Gilleron 394a123bb7 Fixed Clamp node, it was using parameters as adresses 2021-01-01 01:43:46 +00:00
Marc Gilleron d64340aa73 Small optimization in Remap node 2020-12-29 22:12:31 +00:00
Marc Gilleron edfc96e4a5 Fixed crash when hiding terrain while selected in editor 2020-12-27 15:51:03 +00:00
Marc Gilleron 57fac6c5b1 Fix GCC warning 2020-12-26 19:01:49 +00:00
Marc Gilleron e462cd788a Optimized range analysis for images and spherical map lookups 2020-12-26 18:58:16 +00:00
Marc Gilleron 9e423a58f7 Voxel graph optimizations:
- Dynamically adjust SDF scaling to reduce terracing caused by storage resolution
- Optimize range analysis more aggressively
2020-12-24 23:16:34 +00:00
Marc Gilleron d009049d4f Added experimental functions to bake sphere maps from the generator
- The runtime API now works with float positions
- Fixed XZ optimization, cached positions were not assigned
2020-12-22 02:13:46 +00:00
Marc Gilleron 7c6bfe0dbc Added Normalize node to voxel graph 2020-12-21 20:06:20 +00:00
Marc Gilleron ae9abb0248 Added SdfSphereHeightmap node to graph generator 2020-12-21 02:00:31 +00:00
Marc Gilleron 2018625b34 Moved simple generators under a simple/ folder 2020-12-18 21:19:02 +00:00
Marc Gilleron 10d6e5bd8a Script-based generators and streams have their own class, should fix C# API 2020-10-31 22:11:25 +00:00
Marc Gilleron 510d25e604 Expose find_node_by_name 2020-10-29 00:42:55 +00:00
Marc Gilleron 44a1af2043 Don't crash if graph resources are null 2020-10-26 19:58:54 +00:00
Marc Gilleron 56b4b55b53 Fix missing return 2020-10-25 23:07:53 +00:00
Marc Gilleron 61f17ce96d Formatting 2020-10-25 20:38:23 +00:00
Marc Gilleron b672013f00 Fix an occurrence of Variant uint64_t ambiguity for Mac builds 2020-10-25 20:27:09 +00:00
Marc Gilleron 0cb8188eb7 Added ability to name graph nodes 2020-10-25 20:26:25 +00:00
Marc Gilleron d158a92f57 Show bounds and octrees of VoxelLodTerrain with debug drawing 2020-10-24 00:08:14 +01:00
Marc Gilleron 6c80da0425 Moved VoxelBuffer and VoxelMemoryPool under storage/ directory 2020-09-14 19:33:02 +01:00
Marc Gilleron 68bb9d74df Removed unused class 2020-09-12 21:08:55 +01:00
Marc Gilleron 9ccf16419d Merge branch 'master' into threading_refactor
# Conflicts:
#	streams/voxel_block_serializer.cpp
#	voxel_buffer.h
2020-09-08 21:40:59 +01:00
Marc Gilleron 7405692f68 Unused code 2020-09-07 23:53:38 +01:00
Marc Gilleron fb8a1210e3 Comment and formatting 2020-09-06 19:59:08 +01:00
Marc Gilleron 4632d5353d In the editor, creating noise generators comes with pre-set noise resources.
Otherwise, loading terrain will cause an error spam about noise being null.
2020-08-30 21:40:03 +01:00
Marc Gilleron 23ce65d789 Show terrain in editor, with option to turn it off. A scripted stream will turn it off by default. 2020-08-14 20:33:09 +01:00
Marc Gilleron 96c4a5bd0b Merge branch 'master' of https://github.com/Zylann/godot_voxel 2020-08-02 18:59:24 +01:00
Marc Gilleron ac3e303818 Report script errors a bit better, I hope 2020-08-02 18:57:08 +01:00
menip e64f5f882c Fix warnings
Wparentheses
Wsign-compare
Wreorder
2020-08-01 22:03:26 -07:00
Marc Gilleron bc7ec0c966 Use last found SDF output and don't crash when there isn't any 2020-07-11 17:03:58 +01:00
Marc Gilleron 56aee87615 Added Select node to "conditionally" switch between two values 2020-07-11 17:03:09 +01:00
Marc Gilleron 0cac00e501 Fix preview nodes not working if they are the only output from their ancestor 2020-07-11 17:01:34 +01:00
Marc Gilleron 72c970e182 Alternate positions when profiling a graph to avoid XYZ optimization bias 2020-07-11 16:57:41 +01:00
Marc Gilleron 1cd0a491bb Fix graph not working if there is more than one terminal node (preview nodes) 2020-07-11 16:56:37 +01:00
Marc Gilleron 38aeb6959d Use C++ limits to be consistent with Interval 2020-07-11 03:24:32 +01:00
Marc Gilleron 1a08cd31d6 Use a macro to print debug stuff only in verbose mode 2020-07-08 20:48:52 +01:00
Marc Gilleron db0b454ed9 Merge branch 'master' into voxel_gen_graph 2020-07-08 19:38:10 +01:00
Marc Gilleron 6b63746135 Added categories 2020-07-08 01:26:12 +01:00
Marc Gilleron b8c235fce3 Added preview nodes (has a few limitations, may fix them later) 2020-07-07 23:28:02 +01:00
Marc Gilleron 4ff29ce3ce Auto-compile graph on load so it's now working when launching the game 2020-07-07 18:56:06 +01:00
Marc Gilleron 3deb90b467 Fix alignment problems causing crashes when nodes holding a pointers were used 2020-07-07 18:55:05 +01:00
Marc Gilleron 709ebbe056 Missing declaration for a part I accidentally committed earlier, meant to commit later 2020-07-07 18:53:54 +01:00
Marc Gilleron 00fdd263c4 Fix wrong arguments to OpenSimplexNoise, caused array overrun 2020-07-07 18:52:29 +01:00
Marc Gilleron bf96ec362f Use the inspector to edit graph node properties, including sub-resources 2020-07-06 22:07:36 +01:00
Marc Gilleron 60d32ec006 Make stream and generator script methods optional, fixes errors in editor 2020-05-09 00:46:17 +01:00
Marc Gilleron 21fc777ed8 Fix wrong print 2020-05-08 23:03:07 +01:00
Marc Gilleron f73e566535 Added smoothstep 2020-04-05 19:53:07 +01:00
Marc Gilleron 9ce0ded22e Added a bunch of operation types, untested 2020-03-20 00:21:09 +00:00
Marc Gilleron 4176894383 Editable default inputs 2020-03-08 19:23:48 +00:00
Marc Gilleron d1f00537d5 Parameters are editable (not default inputs, need to do them after) 2020-03-08 00:46:55 +00:00
Marc Gilleron 43b99975f3 Loading and saving of voxel graphs 2020-03-07 01:34:30 +00:00
Marc Gilleron fab3e791d8 Implement undo/redo, which also marks the resource as modified 2020-03-03 00:19:25 +00:00
Marc Gilleron 81909567be Implemented add, remove, connect and disconnect nodes from editor 2020-03-02 00:15:54 +00:00
Marc Gilleron a3b623ad3d Optimize parts of the graph that only depend on X and Z, so they run in the outer loop 2020-02-29 22:35:55 +00:00
Marc Gilleron a3b64c3983 A bit of reorganization:
- Merged VoxelGeneratorGraph::Node into ProgramGraph::Node
- Separated compilation and execution to its own class
2020-02-29 00:17:47 +00:00
Marc Gilleron dcc53d9351 Added can_connect() and get_node_type_id() 2020-02-27 00:17:15 +00:00
Marc Gilleron 5aa7c4cbd6 Fix missing data in node type info dict 2020-02-26 22:26:22 +00:00
Marc Gilleron 815954bc03 Added graph edition methods and exposed to script API 2020-02-24 23:03:41 +00:00
Marc Gilleron dbca01de59 Implemented more accurate noise range detection, moved range utils to their own file 2020-02-24 19:32:18 +00:00
Marc Gilleron de3707ab6b Put some Interval functions in the same space as regular functions 2020-02-23 21:46:09 +00:00
Marc Gilleron f785589ebe Implemented DFS in ProgramGraph, I might need it later 2020-02-23 21:05:04 +00:00
Marc Gilleron f4a5b36fe9 Moved node DB to its own file 2020-02-23 19:08:14 +00:00
Marc Gilleron c87dc49046 Implemented duplicate() 2020-02-23 02:50:04 +00:00
Marc Gilleron 3a579dfb3e Merge branch 'master' into voxel_gen_graph 2020-02-23 01:57:14 +00:00
Marc Gilleron 927f7c4e3f Moved interval.h to the math/ folder 2020-02-22 22:52:19 +00:00
Marc Gilleron 07905ba580 Renamed `evaluate` in ProgramGraph to a more descriptive name 2020-02-22 22:45:22 +00:00
Marc Gilleron 60fb709c1c Added range analyzis to automatically find when a block will be uniform 2020-02-22 22:11:07 +00:00
Marc Gilleron 258b211560 Fix box bounds going off charts 2020-02-21 20:27:18 +00:00
Marc Gilleron f0a8d7e169 Update inspector when bound type is changed 2020-02-21 20:26:39 +00:00
Marc Gilleron ce2b50fe1e Added boundaries to avoid computing the graph in blocks it doesn't need to run 2020-02-21 00:08:26 +00:00
Marc Gilleron af09121c9f Fixed a bunch of things 2020-02-19 21:59:41 +00:00
Marc Gilleron 775be21fa4 Removed redundant channel properties 2020-02-19 19:31:37 +00:00
Marc Gilleron 515751a3e6 WIP VoxelGeneratorGraph, compiled and untested 2020-02-19 19:26:14 +00:00
Marc Gilleron c33f46a437 Split VoxelGeneratorTest into VoxelGeneratorWaves and VoxelGeneratorFlat 2020-02-17 22:05:16 +00:00
Cory Petkovsek 63514efd76 Update pr 2020-02-16 23:07:10 +08:00
Cory Petkovsek 1a251a3c63 VT/VLT Detect channel type from generators. Other convenience features. 2020-02-16 22:13:28 +08:00
Cory Petkovsek 40e3fdc878 Adjust PR 2020-02-15 04:09:31 +08:00
Cory Petkovsek 24841e9a18 fix gcc warnings 2020-02-13 21:49:11 +08:00
Tin Švagelj e67ec6f207
Added missing semicolons on line endings 2020-02-07 04:52:06 +01:00
Marc Gilleron 88d170adff Fix wrong method bind 2020-01-30 14:58:19 +01:00
Marc Gilleron 54e5e31245 Expose blur option in VoxelGeneratorImage 2020-01-26 23:06:21 +00:00
Marc Gilleron b937020d16 Rename files to match class names 2020-01-26 22:43:47 +00:00
Marc Gilleron 8879d9b2e7 Moved all generators under their own base class and folder 2020-01-26 22:34:26 +00:00