Marc Gilleron
07d4deeaab
Formatting
2019-08-15 01:40:27 +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
3b7dccefb2
Revert some castings
2019-06-22 22:14:27 +09:00
Cory Petkovsek
f6a9c5761a
Fix gcc sign comparison warnings
2019-06-18 14:24:56 +09:00
Cory Petkovsek
67bdcbd048
Gcc compiling fixes
2019-06-18 11:27:55 +09:00
Marc Gilleron
f831d03cf5
Merge branch 'master' into persistence
...
# Conflicts:
# terrain/voxel_data_loader.cpp
2019-05-28 01:17:28 +01:00
Marc Gilleron
2c81db52f8
Rename remaining occurences of "provider" => stream
2019-05-28 01:10:50 +01: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
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