Marc Gilleron
89750a20f8
Made file streams thread-safe (but still won't be used in more than one thread)
...
- Added a global file locker so threads can synchronize when accessing files
- Added mutexes to serialize access to file streams (i.e to call in series)
- VoxelStream API now expects implementations to be thread-safe
- Did some logic/data separation in RegionFile in case we need an
in-memory implementation, however I might just use SQLite in the
future instead
2021-01-16 13:34:45 +00:00
Marc Gilleron
348618d605
Fix wrong variable name
2021-01-09 19:33:48 +00:00
Marc Gilleron
973cf729cd
Added FastNoise2 for SIMD noise, but it won't be integrated yet.
...
It requires C++17, while Godot uses C++14. I was unable to override it,
and I'm not sure how compatible this will be with the runtime.
At least this would be doable in Godot 4.
2021-01-09 16:35:40 +00:00
Marc Gilleron
1e95374ccb
The graph runtime now suports arbitrary position buffers, instead of an XZ rectangle
2021-01-08 21:04:49 +00:00
Marc Gilleron
e00ed9b538
Move all node logic to function pointers, each combined into one place
2021-01-07 22:19:06 +00:00
Marc Gilleron
3364748fef
Integrate FastNoiseLite to voxel graph generator
2021-01-03 20:23:45 +00:00
Marc Gilleron
ff0b9271cf
Make FastNoiseLite access constant
2021-01-03 17:43:18 +00:00
Marc Gilleron
c8dcbc55e3
Added FastNoiseLite
2021-01-02 00:59:12 +00:00
Marc Gilleron
37a202a00b
Added material_override
2021-01-01 01:39:06 +00:00
Marc Gilleron
a34710f74c
Added VoxelInstancer. First working API, script only.
2020-12-29 22:25:22 +00:00
Marc Gilleron
a12144304f
Optimized Transvoxel (nearly twice as fast), also allowing 16, 32 and 64 bit precision
2020-12-23 02:27:54 +00:00
Marc Gilleron
87e575e504
Use reinterpret_cast instead of ambiguous C-style cast
2020-12-18 20:46:54 +00:00
Marc Gilleron
e18b3a55fd
Don't make the editor redraw every frame when gizmos are shown
2020-11-21 18:15:12 +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
40d299413f
Don't compute matrices if they aren't used when transforming blocks
2020-10-29 00:54:27 +00:00
Marc Gilleron
1200b012bb
Some notes about tracy
2020-10-29 00:47: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
4e65c8d937
Added bounds support to VoxelLodTerrain (rounded to octree size)
2020-10-22 22:43:31 +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
0922b92ace
Fix some GCC warnings and Clang error
2020-09-07 23:26:04 +01:00
Marc Gilleron
fb8a1210e3
Comment and formatting
2020-09-06 19:59:08 +01:00
Marc Gilleron
d81ffb95f4
Detect usage of Tracy, add some profiler scopes
2020-08-30 04:00:01 +01:00
Marc Gilleron
107f29c5d3
Removed old profiler
2020-08-29 23:20:51 +01:00
Marc Gilleron
ac3e303818
Report script errors a bit better, I hope
2020-08-02 18:57:08 +01:00
Marc Gilleron
c47d0905a9
Fix missing file
2020-07-11 02:52:22 +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
33d38e61b1
Merge branch 'master' into voxel_gen_graph
2020-05-08 18:09:09 +01:00
Thor Correia
3e79f5e7e7
added raycast case for integer positions
2020-04-24 13:30:44 -07: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
dbca01de59
Implemented more accurate noise range detection, moved range utils to their own file
2020-02-24 19:32:18 +00:00
Marc Gilleron
3a579dfb3e
Merge branch 'master' into voxel_gen_graph
2020-02-23 01:57:14 +00:00
Marc Gilleron
9f7a081dd4
Non-cube voxels don't contribute to AO for now
2020-02-23 01:29:32 +00:00
Marc Gilleron
f5001fdc07
Merge branch 'master' into custom_blocky_mesh
...
# Conflicts:
# util/array_slice.h
2020-02-22 22:55:50 +00:00
Marc Gilleron
927f7c4e3f
Moved interval.h to the math/ folder
2020-02-22 22:52:19 +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
197c6c71bc
Use a pattern matrix to determine side culling, so it can be baked more precisely
2020-02-11 21:20:05 +00:00
Tin Švagelj
e67ec6f207
Added missing semicolons on line endings
2020-02-07 04:52:06 +01:00
Marc Gilleron
aec06b214b
Merge branch 'master' into depth
2020-01-26 23:34:08 +00:00
Marc Gilleron
87a9766442
voxel_raycast is now template
2020-01-26 20:43:40 +00:00
Marc Gilleron
4626b4d7a3
Added iso_scale parameter to heightmap generators, which eliminates terracing. As a result, sdf_mode is now useless and was removed.
2020-01-26 20:08:25 +00:00
Marc Gilleron
4b52d8fd18
get_channel_raw returns an ArraySlice instead of a pointer
2020-01-25 23:26:55 +00:00
Marc Gilleron
7723988b15
Merge branch 'master' into depth
...
# Conflicts:
# meshers/transvoxel/voxel_mesher_transvoxel.cpp
2020-01-25 19:46:53 +00:00
Marc Gilleron
2c4c4f3288
Fix stupid bugs
2020-01-21 21:17:15 +00:00
Marc Gilleron
6a417bf657
Abstracted some of the heightmap SDF algorithm, WIP
2020-01-21 19:51:05 +00:00
Marc Gilleron
e76e4d2b49
Fix bad discarding code when block management threads are told to exit
...
In short, std::remove_if does NOT remove anything
2020-01-19 18:13:00 +00:00
Marc Gilleron
2fe83ce154
Fix wrong return values
2020-01-19 01:22:48 +00:00
Marc Gilleron
09acd82c72
Merge branch 'master' into depth
2020-01-18 19:29:57 +00:00