Commit Graph

23 Commits (4a90ca10a5c78b5c3bfaeaa57816725c2a49d973)

Author SHA1 Message Date
Marc Gilleron 2e1b13ffea Rename VoxelProvider* => VoxelStream* 2019-05-25 16:07:38 +01:00
Marc Gilleron 75cffa7d59 Rename VoxelBlock.pos => position 2019-05-25 15:50:01 +01:00
Marc Gilleron 15ae1b99ba Rename voxel_provider_thread.h => voxel_data_loader.h to match class name 2019-05-25 15:07:16 +01:00
Marc Gilleron 5a7d0b6f1b Added optional code to debug-draw unexpected block drops 2019-05-20 20:49:46 +01:00
Marc Gilleron d8cab2d32b Use generic block manager for loading and fix bugs:
- VoxelProviderThread is now VoxelDataLoader and uses generic block manager
- Fixed threads locking up, input mutex was not always unlocked due to for loop exiting early
- Fixed blocks failing to load, region rejection was using invalid pointer
- Fixed block shifting in region rejection, was replacing wrong index in `block_indexes`
- Fixed block region rejection missing blocks, was not stepping back the loop after shifting blocks
- Added output message to notify of block rejection
2019-05-20 20:48:58 +01:00
Marc Gilleron ceb7f47fa1 Don't bother calling `remove_positions_outside_box`, it's not doing anything currently 2019-05-20 20:34:41 +01:00
Marc Gilleron e47afabe49 Sort blocks using a heuristic, take look direction into account 2019-05-19 21:04:26 +01:00
Marc Gilleron b9add5d671 Allow more than one thread for mesh updates, also made it generic 2019-05-19 18:27:49 +01:00
Marc Gilleron efe58f1af6 Added exclusive area parameter to block processors so they can remove blocks from their queue 2019-05-12 16:33:25 +01:00
Marc Gilleron 561f95a506 Added stats for dropped block loads and meshs 2019-05-12 16:30:45 +01:00
Marc Gilleron a521501add Move both meshing and loading sheduling to LodOctree polling 2019-05-10 18:56:48 +01:00
Marc Gilleron 29298958e7 Fix mistake in previous commit about missing binding argument 2019-05-10 00:57:09 +01:00
Marc Gilleron 255acbb739 Remove wrong CRASH_COND, also use get/setters for VoxelBlock properties 2019-05-09 22:00:54 +01:00
Marc Gilleron cf7ece7a58 Remove BlockState and replace it with loading_blocks set and enum inside VoxelBlock 2019-05-09 19:11:17 +01:00
Marc Gilleron 73d5d9993c Load blocks on demand instead of speculatively, it's faster 2019-05-08 20:53:51 +01:00
Marc Gilleron d21974e122 Changed debug methods, also fixed blocked lods due to small block region extent 2019-05-08 00:57:34 +01:00
Marc Gilleron 40ccdd8fea Expose material and LOD settings 2019-05-05 19:54:47 +01:00
Marc Gilleron 310e2172ff Added stat to monitor LODs blocked by non-ready meshes 2019-05-05 19:15:50 +01:00
Marc Gilleron 1f219e68eb Added marching square skirts to hide most LOD cracks 2019-05-05 03:56:18 +01:00
Marc Gilleron d93f23337a Added stats to VoxelLodTerrain 2019-05-05 01:09:12 +01:00
Marc Gilleron 8850019dc4 Put LodOctree child position calculation in a function 2019-05-04 17:58:33 +01:00
Marc Gilleron 295374b99f Don't subdivide or unsubdivide if meshes aren't ready 2019-05-04 16:29:52 +01:00
Marc Gilleron 9bab6c04d1 Added VoxelLodTerrain, focused on LOD. No seam management, no editing yet. 2019-05-04 00:02:10 +01:00