Commit Graph

9 Commits (2fd4c22c549ab5164770433beaac818d6eb5d2b8)

Author SHA1 Message Date
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 f0c59acf0b Fix VoxelStreamBlockFiles always showing a warning about channels 2021-09-18 01:44:33 +01:00
Marc Gilleron b66b9a01a9 Removed VoxelStreamFile 2021-02-01 22:25:25 +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 a8c5fed29d File streams fixes:
- Uniform compression now supports more than 8-bit depth (compat implementation)
- Fix buffers not being set to correct depth before loading from file
- Check if we save correct buffer depths in region files
- Fix inverted check when reading region meta file
- Fix version check not working in JSON meta file because it's float
2020-02-09 17:07:53 +00:00
Marc Gilleron 8224346846 Added depth info to VoxelStreamBlockFiles. No versionning for this one, it's not a recommended stream anyways. 2020-01-25 22:54:49 +00:00
Marc Gilleron f14b374931 Made block size and a few other params modifiable (not so easy, though) 2019-08-24 01:44:27 +01:00
Marc Gilleron ece3a355af Rename VoxelStreamVXB => VoxelStreamBlockFiles 2019-08-17 19:43:08 +01:00