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
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
Marc Gilleron
62c807fa71
Fix graph not recompiling after changing a subresource
2021-09-22 20:28:17 +01:00
Marc Gilleron
e602b9bffe
Merge branch 'master' into octree_compression
...
# Conflicts:
# tests/tests.cpp
2021-09-19 20:15:16 +01:00
Marc Gilleron
3cf2e92483
Optimized Curve range analysis by dividing it into monotonic sections
2021-09-19 18:20:54 +01:00
Marc Gilleron
c9b1840e99
Added max_lod_hint
return value to block generators
2021-09-16 20:33:45 +01:00
Marc Gilleron
5f84ceac39
Fix warning
2021-07-19 19:28:39 +01:00
Marc Gilleron
52aa4963ea
Fixed some crashes occurring when giving invalid arguments to functions
2021-07-19 19:04:52 +01:00
Marc Gilleron
b455fae34f
Typo
2021-06-19 18:35:01 +01:00
Marc Gilleron
b538a0beb8
Moved noise tests to tests folder
2021-06-19 18:34:50 +01:00
Marc Gilleron
411be94559
Renamed ArraySlice -> Span
2021-05-31 16:48:49 +01:00
Marc Gilleron
35de0883d2
Fix shadowing
2021-05-31 03:32:50 +01:00
Marc Gilleron
ee060176ab
Fix initialization reordering, shadowing, signedness and unused vars
2021-05-31 02:29:21 +01:00
Marc Gilleron
8975a93c9b
Fixed bad buffer adresses when multiple outputs are used
...
This was mainly apparent when optimization was enabled.
It caused outputs to be left uninitialized and either work by chance
or provide the wrong values.
2021-05-31 00:05:42 +01:00
Marc Gilleron
f943339f31
Researching tri-channel weights storage
...
- No changes made for now, but the code is there if we want to switch
- Renamed functions to be more explicit
2021-05-23 20:28:06 +01:00
Marc Gilleron
493579cefb
Initialize voxel graph with default nodes when creating it in the editor
2021-05-03 01:04:04 +01:00
Marc Gilleron
80c2a0b702
Fix warning
2021-05-02 19:17:21 +01:00
Marc Gilleron
264b77ac21
Moved hardcoded output types outside the runtime.
...
For simplicity I chose to just give output nodes output ports,
like regular ones, and hide them in the editor.
It required to change a bit how output nodes are detected,
and backing output buffers are no longer required from callers.
This will allow to more easily implement custom outputs as well.
2021-05-02 01:22:44 +01:00
Marc Gilleron
ee1169cc45
Merge branch 'master' into smooth_texturing
2021-04-30 22:15:27 +01:00
Marc Gilleron
cc9e614b4a
Fix Remap node
2021-04-30 22:07:26 +01:00
Marc Gilleron
32f9006b75
Added initial support for texture weights in graph generators (not optimal)
2021-04-30 22:04:38 +01:00
Marc Gilleron
10683ccd15
Comments
2021-04-15 20:35:31 +01:00
Marc Gilleron
310386bde8
Merge branch 'master' into block_size_decoupling
2021-04-11 01:09:51 +01:00
Marc Gilleron
05dda25245
Fix several bugs when the graph has no operations
2021-04-10 01:36:49 +01:00
Marc Gilleron
2c6eb114b2
Fix order of SDF arguments
2021-04-07 00:05:38 +01:00
Marc Gilleron
bcba1a8c0f
Fix wrong condition in try_get_input
2021-04-07 00:05:00 +01:00
Marc Gilleron
0c830ded40
Fix wrong input used in sdf subtract node
2021-04-07 00:04:33 +01:00
Marc Gilleron
289da1d128
Add option to turn off XZ caching optimization
2021-04-03 21:39:22 +01:00
Marc Gilleron
18f211822f
Fix ignored buffers still being used when optimized execution map is used
2021-04-03 20:44:48 +01:00
Marc Gilleron
c38989f57b
Unnecessary reference
2021-03-27 22:09:57 +00:00
Marc Gilleron
371b1edf2c
Fix some shadowing GCC doesn't like
2021-03-27 21:51:39 +00:00
Marc Gilleron
7253308bf8
Remove unnecessary qualification
2021-03-27 19:48:33 +00:00
Marc Gilleron
29c5141dda
Increase default clip threshold to reduce chance of artifacts
2021-03-27 16:39:21 +00:00
Marc Gilleron
5766bc8b94
Merge branch 'master' into lod_fade_v2
...
# Conflicts:
# README.md
# editor/about_window.cpp
2021-03-27 01:48:36 +00:00
Marc Gilleron
4e1442cb0b
Added clipping debug option
2021-03-27 01:46:07 +00:00
Marc Gilleron
c7c24a3d95
Expose performance tuning parameters
2021-03-22 00:02:46 +00:00
Marc Gilleron
08bfcd96d4
Optimized smooth subtract and union by marking unused input cases.
...
This allows optimized execution map to pick them up and skip dependencies
2021-03-22 00:02:16 +00:00
Marc Gilleron
03bfc09e99
Implemented execution map to optimize out nodes locally
...
- Added optional optimization of execution map
- Added visualization of skipped nodes in the editor debug tool
2021-03-21 18:48:00 +00:00
Marc Gilleron
9188ae619b
Optimized several range analysis functions
...
- square, cube and polynomials are more precise
- lerp() is more precise
- smooth union and subtract are more precise
- fallback on simple min/max if smoothness is zero
2021-03-17 18:11:00 +00:00
Marc Gilleron
862e036317
More precise range analysis for FastNoiseLite
2021-03-14 18:47:23 +00:00
Marc Gilleron
412f37e3e0
Exposed range analysis method
2021-03-14 18:46:38 +00:00
Marc Gilleron
67f545d5cf
Lower threshold for range discarding
2021-03-14 18:45:59 +00:00
Marc Gilleron
826e104024
Added tool to inspect range analysis
2021-03-14 18:44:46 +00:00
Marc Gilleron
ea1d617371
Implemented "chunking" of requested blocks in graph generator
...
so range analysis can remain precise enough even with larger blocks
2021-03-12 23:40:38 +00:00
Roberto Benfatto
271458f4aa
Fix tautological-compare error
...
Comparing the bitwise 'and' result and a number inside the if in this way results always false unless the bitwise 'and' result is 1.
2021-03-07 17:02:37 +01:00
Marc Gilleron
71384e25bc
Moved sdf functions to their own file
2021-02-21 18:18:01 +00:00