Marc Gilleron
0713016d9c
Fix missing result in emerge_block()
2021-01-21 19:39:57 +00:00
Marc Gilleron
4ec60074bb
Refactor generators and streams
...
- VoxelGenerator no longer inherit VoxelStream
- VoxelStream is now more focused on files
- Nodes have separate stream and generator properties
- Generators use 2 dedicated threads instead of sharing a single one with streams
- TODO Image.lock() is problematic for multithreading
- TODO Voxel graph can cause RWLock contention if edited while it runs
- TODO Saving generator output no longer works, need to put it back
2021-01-17 17:18:05 +00:00
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
10d6e5bd8a
Script-based generators and streams have their own class, should fix C# API
2020-10-31 22:11:25 +00: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
845fa465b8
Put model information within a struct
2020-08-11 20:29:27 +01:00
Marc Gilleron
ac3e303818
Report script errors a bit better, I hope
2020-08-02 18:57:08 +01:00
Marc Gilleron
f9e2d9cc12
Stop using NULL
2020-07-25 23:19:08 +01:00
Marc Gilleron
071c5ee5c0
Fix channel depth not being applied to VoxelMap::get_buffer_copy()
2020-07-11 18:05:26 +01:00
Marc Gilleron
60d32ec006
Make stream and generator script methods optional, fixes errors in editor
2020-05-09 00:46:17 +01:00
Cory Petkovsek
63514efd76
Update pr
2020-02-16 23:07:10 +08:00
Marc Gilleron
8879d9b2e7
Moved all generators under their own base class and folder
2020-01-26 22:34:26 +00:00
Marc Gilleron
c493aec343
Use StringNames when applicable
2020-01-17 20:43:28 +00:00
Marc Gilleron
9dc09618be
ZProfiler is now usable from anywhere including threads
2020-01-07 20:32:36 +00:00
Marc Gilleron
31f588c1a1
Add profiling scopes to VoxelLodTerrain, also fix usage in VoxelStream
2020-01-02 20:29:02 +00:00
Cory Petkovsek
4820998c56
Fix build errors due to Godot macro change
2019-11-13 13:20:05 +08:00
Marc Gilleron
a0c7201fcd
Rename `get_stats()` => `get_statistics()`
2019-08-25 17:40:19 +01:00
Marc Gilleron
dc73977a1a
Changed profiler to be more like a stack-based one, also made it super light (CPU-wise)
2019-08-18 23:13:12 +01:00
Marc Gilleron
0483413b80
Added stats to VoxelStream, tweak file handles and batch counts
2019-08-17 00:46:24 +01:00
Marc Gilleron
07d4deeaab
Formatting
2019-08-15 01:40:27 +01:00
Marc Gilleron
01b1ee0170
Added first working version of region save format, still WIP
2019-08-14 20:34:06 +01:00
Marc Gilleron
c272a37f1a
Merge branch 'master' into persistence
...
# Conflicts:
# terrain/block_thread_manager.h
# terrain/voxel_terrain.cpp
2019-06-25 20:51:35 +01:00
Cory Petkovsek
1dff1f3e50
Fix gdscript emerge bug
2019-06-18 18:53:32 +09:00
Marc Gilleron
82502d3397
Simple file-per-block saving WIP. Compiles but didn't test.
2019-05-28 00:40:09 +01:00
Marc Gilleron
4a90ca10a5
Rename "provider" files to "stream"
2019-05-25 16:16:03 +01:00