Commit Graph

409 Commits (0bf72badbd3f129e6472c81f0ec5a4c0f5f19835)

Author SHA1 Message Date
Marc Gilleron 7f47b07e0c Fix data reception buffer not cleared after consumption 2021-02-08 01:22:09 +00:00
Marc Gilleron 221cb5839f Fix error when setting empty multimesh data 2021-02-07 23:43:58 +00:00
Marc Gilleron 6856f4b491 Moved instancing stuff under a folder 2021-02-07 21:40:55 +00:00
Marc Gilleron 4daf6718f8 Moved instance generation to its own class 2021-02-07 21:30:07 +00:00
Marc Gilleron b65b0b8045 Implemented saving and loading of modified instances in SQLite 2021-02-07 17:22:50 +00:00
Marc Gilleron dce6ddc3f5 No longer save terrain automatically when it gets destroyed.
If the user wants to save, save_modified_blocks() must be called explicitely.
2021-02-07 17:12:30 +00:00
Marc Gilleron 8e0241ed16 Don't let streams override LOD count for now 2021-02-07 17:04:22 +00:00
Marc Gilleron 22471aafd0 Merge branch 'master' into instancing 2021-02-02 00:00:01 +00:00
Marc Gilleron b66b9a01a9 Removed VoxelStreamFile 2021-02-01 22:25:25 +00:00
Marc Gilleron 01e5e18922 Implemented VoxelStreamSQLite 2021-01-28 22:02:49 +00:00
Marc Gilleron 99723cc006 Merge branch 'master' into instancing 2021-01-25 22:17:46 +00:00
Marc Gilleron 137059f514 Use relationship=2 for block map 2021-01-24 15:24:07 +00:00
Marc Gilleron 5ec5136f5e Don't try to save if the terrain has no stream assigned 2021-01-23 23:01:02 +00:00
Marc Gilleron 0816d1fc09 Merge branch 'master' into instancing 2021-01-23 01:33:11 +00:00
Marc Gilleron 25c033ce85 Fix huge stutters caused by materials not being pooled properly 2021-01-22 18:31:46 +00:00
Marc Gilleron 23765f7c20 Merge branch 'master' into multithreaded_generators 2021-01-18 18:55:18 +00:00
Marc Gilleron 6075476fd8 Fix wrong variable, caused null access 2021-01-17 18:27:38 +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 94810f4d04 Rename statistic property back to its old name, I think it didnt need to change 2021-01-16 13:05:50 +00:00
Marc Gilleron 70a1828720 Added static body collisions 2021-01-01 01:41:41 +00:00
Marc Gilleron 229caf739d Fix parent not reset when unparented 2021-01-01 01:40:19 +00:00
Marc Gilleron 37a202a00b Added material_override 2021-01-01 01:39:06 +00:00
Marc Gilleron 586b5bc0b8 Added height limiter 2020-12-31 20:33:19 +00:00
Marc Gilleron a766e8aefb Added slope limit 2020-12-30 23:24:30 +00:00
Marc Gilleron 2b292818c0 Instances now get removed when the user digs under them 2020-12-30 20:11:46 +00:00
Marc Gilleron fd6125df67 Fix crash on exit 2020-12-29 22:53:58 +00:00
Marc Gilleron 0449eb53e3 Missing function 2020-12-29 22:33:30 +00:00
Marc Gilleron e46c02d475 Merge branch 'master' into instancing 2020-12-29 22:26:57 +00:00
Marc Gilleron a34710f74c Added VoxelInstancer. First working API, script only. 2020-12-29 22:25:22 +00:00
Marc Gilleron 5fdc4b6485 Debug check and some formatting 2020-12-29 22:14:49 +00:00
Marc Gilleron e6c44f9768 Don't recycle materials when we only save blocks
This should only happen if the block is actually about to get unloaded
2020-12-29 22:10:31 +00:00
Marc Gilleron edfc96e4a5 Fixed crash when hiding terrain while selected in editor 2020-12-27 15:51:03 +00:00
Marc Gilleron e988cb9124 Show main thread tasks 2020-12-25 17:08:40 +00:00
Marc Gilleron 418cf0e630 Streaming/LOD can be set to follow the editor camera instead of being centered on world origin 2020-12-19 23:16:10 +00:00
Marc Gilleron 6d9fd2f8a0 Voxel terrain nodes now have a common abstract base class. Also explicitely made a few other classes abstract 2020-12-18 22:58:41 +00:00
Marc Gilleron 4ca7a708d5 Fix warning about precedence clarity 2020-12-18 21:24:41 +00:00
Marc Gilleron 791bdafff1 Meshers are now resources assigned on terrain nodes 2020-12-18 21:01:50 +00:00
Marc Gilleron 117802c807 Unused variable 2020-11-21 19:51:41 +00:00
Marc Gilleron 25445f3f6c Added debug function to dump a VoxelLodTerrain as nodes in a PackedScene 2020-11-21 18:31:28 +00:00
Marc Gilleron d52f882ae1 VoxelMap is no longer bound, it had no use in the API 2020-11-21 18:31:11 +00:00
Marc Gilleron 4c1e149aef Optimized iteration over all blocks of a map (but likely, ECS approach may be better in the future) 2020-11-01 03:25:48 +00:00
Marc Gilleron 18e7792bd5 Added access to block local transform in custom shaders for VoxelLodTerrain 2020-10-31 01:15:50 +00:00
Marc Gilleron 09b32c9dd8 Allow to change process mode from script on VoxelLodTerrain 2020-10-30 19:02:00 +00:00
Marc Gilleron 23123fc920 GCC warning 2020-10-29 22:59:09 +00:00
Marc Gilleron a31dcdd3bd Don't clamp view distance for now, but should be done dynamically 2020-10-29 22:58:49 +00:00
Marc Gilleron 01776d2ee1 Don't load neighboring blocks across fixed boundaries 2020-10-29 22:58:19 +00:00
Marc Gilleron 90cc96d241 Update viewer position on transform changes instead of process 2020-10-29 00:55:04 +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 b5470fab2b Fix big CPU due to blocks never getting unloaded
The unloading logic is supposed to run for all LOD levels except the biggest one,
but instead was running for all LODs except the smallest.
2020-10-29 00:53:04 +00:00
Marc Gilleron bf8a4229a1 Added debug function to get how many blocks are currently in memory 2020-10-29 00:49:12 +00:00
Marc Gilleron f3108de4f9 Removed old viewer API from VoxelLodTerrain, support 1 VoxelViewer at a time for now 2020-10-25 21:21:37 +00:00
Marc Gilleron 85bb3d7b28 VoxelTerrain can be transformed 2020-10-25 00:55:57 +01:00
Marc Gilleron 361f7d73ed VoxelLodTerrain handles transform changes (VoxelTool still has to account for that) 2020-10-24 03:22:02 +01:00
Marc Gilleron d158a92f57 Show bounds and octrees of VoxelLodTerrain with debug drawing 2020-10-24 00:08:14 +01:00
Marc Gilleron e70f87e4a7 Fixed bounds being snapped too large 2020-10-24 00:06:09 +01:00
Marc Gilleron 4e65c8d937 Added bounds support to VoxelLodTerrain (rounded to octree size) 2020-10-22 22:43:31 +01:00
Marc Gilleron 2dfcc76600 Better fix for VoxelLodTerrain task drop 2020-10-20 23:58:55 +01:00
Marc Gilleron 54eb228444 Fix crash when increasing LOD count in editor while blocks are still loading 2020-10-19 23:22:23 +01:00
Marc Gilleron 30c6d7e436 Disabled task cancellation to make VoxelLodTerrain work, will need better option later.
VoxelLodTerrain's block requests were being cancelled constantly.

This commit also contains precision improvement for cancelling
block requests based on distance, which originally was an attempt to
"properly" fix the problem with VoxelLodTerrain, but it didnt fully
worked for that node.
I left it anyways, maybe it will change in the future once a
proper fix is figured out.
2020-10-19 23:21:14 +01:00
Marc Gilleron 5dd8475091 Fix GCC warning (4) 2020-09-20 20:28:45 +01:00
Marc Gilleron 6c80da0425 Moved VoxelBuffer and VoxelMemoryPool under storage/ directory 2020-09-14 19:33:02 +01:00
Marc Gilleron 64ee592a0e Allow to specify bounds in VoxelTerrain 2020-09-13 22:36:28 +01:00
Marc Gilleron 4b6ae21ce9 Fix GCC warnings 2020-09-09 18:58:58 +01:00
Marc Gilleron b12500ed34 Don't request or even calculate blocks to load when streaming is not possible 2020-09-08 21:34:35 +01:00
Marc Gilleron 7a235be108 Cancel block tasks if they are too far away 2020-09-06 23:57:41 +01:00
Marc Gilleron fb8a1210e3 Comment and formatting 2020-09-06 19:59:08 +01:00
Marc Gilleron 0e16193f92 Removed old threading code 2020-09-06 19:35:35 +01:00
Marc Gilleron a4611031e1 Fix viewer not being unpaired when destroyed 2020-09-06 19:29:56 +01:00
Marc Gilleron 81e1872f8b Implemented viewers for VoxelTerrain 2020-09-06 19:01:12 +01:00
Marc Gilleron b8c97ebc55 Switch VoxelLodTerrain to VoxelServer 2020-08-31 21:51:30 +01:00
Marc Gilleron 7a37770e84 Merge branch 'master' into threading_refactor
# Conflicts:
#	edition/voxel_tool_terrain.cpp
#	terrain/voxel_lod_terrain.cpp
2020-08-30 21:56:44 +01:00
Marc Gilleron 758da9ca2f Fix VoxelLodTerrain not loading blocks properly in editor
It assumed they were loading but the list of loading blocks is cleared
when the stream is set... which didn't reset the MAP of loading blocks.
2020-08-30 21:38:38 +01:00
Marc Gilleron 08e5770bd0 Fix crash when using VoxelLodTerrain without a stream 2020-08-30 21:36:43 +01:00
Marc Gilleron 17ff16aa48 Neighbors are optional when sending meshing requests 2020-08-30 04:00:45 +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 d4d2b6fd9e No longer copy voxels before scheduling threaded tasks. VoxelBuffers now have a lock. 2020-08-29 22:09:54 +01:00
Marc Gilleron d8a8936f34 Remove usage of VoxelDataLoader from VoxelTerrain 2020-08-26 19:49:30 +01:00
Marc Gilleron 56c2a0856a Initial integration on VoxelTerrain with static camera, fixed a bunch of things 2020-08-25 23:00:38 +01: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 6ed4ef32b7 Separated baked data from config data in VoxelLibrary and introduced thread-safety with blocky mesher 2020-08-11 23:52:42 +01:00
Marc Gilleron 7316e415dc Implemented block events for VoxelTerrain 2020-08-10 20:57:03 +01:00
Marc Gilleron 404de21c9b Don't error when a custom stream can't be used in editor, show warning instead 2020-08-02 18:58:04 +01:00
Marc Gilleron ac3e303818 Report script errors a bit better, I hope 2020-08-02 18:57:08 +01:00
Marc Gilleron 61c82078f7 Added collision masks to voxel models so they can be filtered fast 2020-08-01 22:58:16 +01:00
Marc Gilleron f9e2d9cc12 Stop using NULL 2020-07-25 23:19:08 +01:00
Marc Gilleron b7fe71ff45 Fix block not copied when the save of a single one is triggered 2020-07-25 21:57:36 +01:00
Marc Gilleron ec6bc00562 Added methods to trigger saves manually 2020-07-25 16:29:16 +01:00
Marc Gilleron eef3818d29 Fixed mandatory requests not always being processed after telling the thread to exit 2020-07-24 20:07:34 +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 1a08cd31d6 Use a macro to print debug stuff only in verbose mode 2020-07-08 20:48:52 +01:00
Marc e57a39d467
Merge pull request #141 from nwdamgaard/master
Generate a collision mesh for each surface
2020-05-08 17:24:13 +01:00
Nathan a17ab8bbe7 clean up for Zylann 2020-05-07 17:33:16 -07:00
Nathan 6b43c9a187 General improvements 2020-05-07 13:55:16 -07:00
Marc Gilleron 600942564c Fix crash when a VoxelTerrain is used without a stream 2020-05-07 21:13:47 +01:00
Nathan 713c57388a Changing the approch once again due to misunderstanding Zylann 2020-05-06 19:47:00 -07:00
Nathan 6db4246e9a Missed something to clean up 2020-05-06 16:20:24 -07:00
Nathan c69afee67f Clean up some stuff that should not have happened 2020-05-06 16:14:11 -07:00
Nathan 89691f6ece Added function in mesher to create collision mesh 2020-05-06 14:42:46 -07:00
Nathan e045c0f350 Generate a collision mesh for each surface 2020-04-28 21:50:37 -07:00
Cory Petkovsek d407d6201a Fix build warnings on other platforms 2020-04-03 20:46:29 +08: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
Cory Petkovsek 63514efd76 Update pr 2020-02-16 23:07:10 +08:00
Cory Petkovsek 1a251a3c63 VT/VLT Detect channel type from generators. Other convenience features. 2020-02-16 22:13:28 +08:00
Marc db98d5865d
Merge branch 'master' into fix_gcc_warnings 2020-02-15 16:40:32 +00:00
Marc Gilleron 17e3651d0e Fix release compilation 2020-02-15 16:37:23 +00:00
Cory Petkovsek 40e3fdc878 Adjust PR 2020-02-15 04:09:31 +08:00
Cory Petkovsek 24841e9a18 fix gcc warnings 2020-02-13 21:49:11 +08: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 bb97d7a614 Add debug method to VoxelLodTerrain to print a 2D top-down image of the SDF 2020-02-05 21:09:14 +01:00
Marc Gilleron 618257b570 Code style 2020-02-05 21:08:23 +01:00
Marc Gilleron e9d431360b Fix case where a block gets saved but is requested for loading very shortly after
When a block gets saved, a thread event comes back to confirm it,
but that event can be mistaken for a loading event because nothing was
explicitely checking for it. It worked so far because the "loading blocks"
check was luckily taking "care" of it, except in that edge case.
2020-02-04 15:37:52 +01:00
Marc Gilleron 6c6bd52a68 Can add custom collision AABBs to blocky voxels, for use with VoxelBoxMover 2020-02-03 10:29:25 +01:00
Marc Gilleron aec06b214b Merge branch 'master' into depth 2020-01-26 23:34:08 +00:00
Marc Gilleron 8879d9b2e7 Moved all generators under their own base class and folder 2020-01-26 22:34:26 +00:00
Marc Gilleron 87a9766442 voxel_raycast is now template 2020-01-26 20:43:40 +00:00
Marc Gilleron 0ac1b7e6dc Moved edition-related classes to a sub-folder 2020-01-26 20:29:44 +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 a751b0ca63 Fix edited block producing a hole when going away from it 2020-01-23 23:20:23 +00:00
Marc Gilleron 73491cd1ff Fix LOD getting stuck if you teleport far away
Now the octree is always allowed to merge nodes even if the parent block isn't available.
Also removed unused userdata from LodOctree::Node,
merged callbacks into one struct,
removed some old debug code
2020-01-23 00:37:13 +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 09acd82c72 Merge branch 'master' into depth 2020-01-18 19:29:57 +00:00
Marc Gilleron c493aec343 Use StringNames when applicable 2020-01-17 20:43:28 +00:00
Marc Gilleron 0b4860b40d Use MAX_LOD global constant 2020-01-15 21:40:35 +00:00
Marc Gilleron 87afb8f96c Fix split scale not being clamped properly. Also reorganized debug functions a bit 2020-01-15 21:04:23 +00:00
Cory Petkovsek 9129016567 Fix invisible VoxelTerrain 2020-01-10 19:57:49 +08:00
Marc Gilleron 2d1a53048c Merge branch 'master' into depth
# Conflicts:
#	streams/voxel_block_serializer.cpp
2020-01-10 01:43:38 +00:00
Marc Gilleron 9e87a522d7 Merge branch 'visibility_as_being_in_world' 2020-01-09 23:46:59 +00:00
Marc Gilleron 9dc09618be ZProfiler is now usable from anywhere including threads 2020-01-07 20:32:36 +00:00
Marc Gilleron badf3876c3 When a block is not visible, remove it from world instead 2020-01-07 02:04:24 +00:00
Marc Gilleron 051034fc51 Improve transition mask calculation on world borders.
It fixes a case where a block at world border would remain with
a transition mask of 0 when a neighbor block of lower LOD becomes visible.
Now a block side bordered by an empty area will assume transition.
2020-01-07 00:22:58 +00:00
Marc Gilleron 04d15fe843 Merge branch 'master' into depth
# Conflicts:
#	meshers/blocky/voxel_mesher_blocky.cpp
#	meshers/transvoxel/voxel_mesher_transvoxel.cpp
2020-01-05 23:40:44 +00:00
Marc Gilleron dacd18b772 Added function to debug pointed blocks 2020-01-05 23:27:43 +00:00
Marc Gilleron 462e453cf4 Fix thin cracks caused by pooled material params not being reset when reused 2020-01-05 04:57:40 +00:00
Marc Gilleron 8056f7e679 Fix transition meshes not being scaled with LOD, provide LOD in mesher API 2020-01-04 23:24:33 +00:00
Marc Gilleron a8f8a03439 Added customizable bit depth to VoxelBuffer. UNTESTED 2020-01-04 19:20:49 +00:00
Marc Gilleron a11a95bcce Renamed CHANNEL_ISOLEVEL => CHANNEL_SDF 2020-01-02 21:03:44 +00:00
Marc Gilleron 3c3fe017d8 Remove channel enum from Voxel, it was redundant with VoxelBuffer 2020-01-02 20:46:27 +00:00
Marc Gilleron d8677cd663 Fix heavy stuttering caused by ShaderMaterial 2020-01-02 20:29:40 +00:00
Marc Gilleron 31f588c1a1 Add profiling scopes to VoxelLodTerrain, also fix usage in VoxelStream 2020-01-02 20:29:02 +00:00
Marc Gilleron ebc6be35d1 Implement LOD transitions in VoxelLodTerrain
- VoxelBlock contains 6 optional transition meshes
- VoxelLodTerrain calculates transition masks when block visibility changes
- VoxelMesher can now specify different min and max paddings
- Fix Cube::SIDE_POSITIVE/NEGATIVE_X/Y/Z enum not matching Cube::g_side_normals
- Convert transition masks to make up for the Cube:: inconsistency for now
2019-12-31 16:48:46 +00:00
Marc Gilleron a9952179a7 Transition meshes WIP and bug fixes
- Allow meshers to specify compression flags
- Use uncompressed COLOR to fit extra vertex data for transition meshes
- Simplify a few interpolations
- Fix a few buffer overruns which were not detected by the debugger
- Use array wrappers to better detect overrun mistakes
2019-12-26 20:29:55 +00:00
Marc Gilleron 9dcf8c83cb Did not need to be included in header 2019-12-23 21:36:34 +00:00
Cory Petkovsek 9a06cdd3ef Fix mono build warnings 2019-10-04 02:17:44 +08:00
Marc Gilleron 2b15ca6457 Remove `for_all_blocks` from header, it causes compilation error due to `map` not being fully defined. Move logic to .cpp file to keep it forward-declared. 2019-10-03 18:55:13 +01:00
Marc Gilleron 13e909fb0d Remove old comment 2019-09-08 19:49:33 +01:00
Marc Gilleron 14bfcb172c Implement voxel tool for classic terrain 2019-09-08 19:42:25 +01:00
Marc Gilleron 1680516ea0 Optimize LOD propagation a bit 2019-09-07 22:59:09 +01:00
Marc Gilleron b687909806 Save modified blocks, remove some debug code 2019-09-07 21:19:12 +01:00
Marc Gilleron 17c6b1f557 Fixed and tweaked a bunch of things, first working editing with LOD 2019-09-06 23:24:56 +01:00
Marc Gilleron 584698d428 Fix wrong binding 2019-09-05 20:36:21 +01:00
Marc Gilleron b284541219 Cleanup includes 2019-09-05 19:43:25 +01:00
Marc Gilleron bee83ecbe9 Merge branch 'master' into lod_editing 2019-09-05 02:24:41 +01:00
Marc Gilleron 4ab688c9be Barebones edition, untested WIP 2019-09-05 02:24:16 +01:00
Marc Gilleron fec6e624f6 Tweaked octree region loading to better center it on the viewer 2019-09-04 20:59:08 +01:00
Marc Gilleron 1ad71c5d9c Fix VoxelLodTerrain view distance property, it was using inconsistent type in getter and setter 2019-09-03 22:56:57 +01:00
Marc Gilleron f8a3cd0503 Implement `get_view_distance()` properly 2019-09-02 21:32:05 +01:00
Marc Gilleron a24e6d1b5a Use Rect3i::difference, remove check_cell_enters_and_exits for clarity 2019-09-02 20:08:33 +01:00
Marc Gilleron ff51d83e55 Use better algorithm for blocks falling out of range 2019-09-02 00:45:20 +01:00
Marc Gilleron aad7ecf9a6 Make octree region work under a bit more kinds of runtime changes 2019-09-02 00:44:28 +01:00
Marc Gilleron ebe91427c3 #ifdef out debug boxes 2019-09-01 22:52:38 +01:00
Marc Gilleron 8060978126 Some cleanup 2019-09-01 21:49:58 +01:00
Marc Gilleron 98299f2b3c Optimize octree further by taking out children pointers. Nodes are only 5 bytes now. 2019-09-01 21:07:38 +01:00
Marc Gilleron 0ee054dc3c Took out position from octree nodes 2019-09-01 17:11:28 +01:00
Marc Gilleron bd10e89dea Implement proper box difference 2019-09-01 16:10:01 +01:00
Marc Gilleron 6369985b74 Fix problems with MinGW 2019-09-01 01:47:45 +01:00
Marc Gilleron d4b69f7dae Remove old commented code 2019-09-01 00:21:41 +01:00
Marc Gilleron d0275b29ee Apply split_scale to newly created octrees 2019-08-31 21:47:00 +01:00
Marc Gilleron 0e6d3873c7 Properly implement hiding of the terrain node, for LOD it was showing all blocks of all LODs at once 2019-08-31 21:46:40 +01:00
Marc Gilleron fa22666ccf Merge branch 'master' into paged_lod 2019-08-30 01:09:37 +01:00
Marc Gilleron 8574655c18 Re-enabled request dropping through exclusive region, except for last lod 2019-08-30 01:08:06 +01:00
Marc Gilleron c3bc356119 Fix overlapping blocks, mesh instance visibility was not initialized properly 2019-08-30 00:13:28 +01:00
Marc Gilleron 6a540a8720 Remove old code 2019-08-30 00:04:20 +01:00
Marc Gilleron eb01f99c2c First WIP at paging LOD 2019-08-29 22:55:02 +01:00
Marc Gilleron db398a96e2 Fix crash when duplicate rejection is used, the threaded part was wrong. That map only pertains to shared_input. 2019-08-28 00:20:49 +01:00
Marc Gilleron 7a7f5f679b Include smooth surface to collision build in VoxelTerrain 2019-08-26 14:00:48 +01:00
Marc Gilleron d4ed6372b7 Optimize collision shapes, doubles build speed 2019-08-25 22:59:55 +01:00
Marc Gilleron 8fc1e40230 Line up statistics variable names 2019-08-25 18:47:43 +01:00
Marc Gilleron a0c7201fcd Rename `get_stats()` => `get_statistics()` 2019-08-25 17:40:19 +01:00
Marc Gilleron c13c0fbf20 Fix `remaining_main_thread_blocks` stat, it wasn't reported 2019-08-25 17:23:25 +01:00
Marc Gilleron 4ec82928b4 Remove redundant VoxelTerrain::BlockDirtyState 2019-08-25 15:14:10 +01:00
Marc Gilleron 4ff5f91e6f Add optional physics collision through node-less static bodies 2019-08-25 13:04:49 +01:00
Marc Gilleron 332041751d Move mesh instance into a thin wrapper 2019-08-25 01:11:38 +01:00
Marc Gilleron ed2db2b443 Put back meshing threads to 1 for VoxelTerrain, it doesnt react well to unordered block responses 2019-08-24 23:31:48 +01:00
Marc Gilleron 368e3efd1e Remove unecessary condition 2019-08-24 23:31:01 +01:00
Marc Gilleron 9ca40b854b Don't stop threads when the terrain exits the tree, it prevents saving-on-destroy from completing 2019-08-24 23:26:01 +01:00
Marc Gilleron 68dfe9fc70 Fix crash where null maps were accessed 2019-08-24 22:38:27 +01:00
Marc Gilleron e815f79a5e Removed unused variable 2019-08-24 01:44:51 +01: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 adc6a9391c Fix threading issue causing corruption when duplicate rejection is active 2019-08-23 22:49:43 +01:00
Marc Gilleron 457ebf626d Added stat for time spent opening files 2019-08-18 16:10:40 +01:00
Marc Gilleron e1d716d454 Merge branch 'master' into persistence 2019-08-17 20:16:22 +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 43446356e9 Switch block processing to use arrays instead of single blocks to allow batching 2019-08-16 20:56:07 +01:00
Marc Gilleron 45f132a930 I did not intend to commit this 2019-08-15 22:36:26 +01:00
Marc Gilleron c6e0e59662 Fix uninitialized stats 2019-08-15 01:54:05 +01:00
Marc Gilleron 07d4deeaab Formatting 2019-08-15 01:40:27 +01:00
Marc Gilleron b00ec1ccad Merge branch 'master' into persistence 2019-08-09 20:07:43 +01:00