Commit Graph

202 Commits (00d6190d3c7bbe39f918e8694ddc60d38c47149b)

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 6faf5b29f3 Allow to configure main thread time limit 2021-09-25 02:13:03 +01:00
Marc Gilleron 3197eaba35 Move main thread tasks into one runner in VoxelServer
So the timing budget is better respected even if there are multiple
voxel nodes in the scene
2021-09-25 00:02:41 +01:00
Marc Gilleron 44f00176d3 Use std::unordered_set instead of Godot Set in VoxelLodTerrain 2021-09-23 23:49:18 +01:00
Marc Gilleron 0838cab251 Don't schedule loadings when streaming is disabled, don't crash when it still happens, log an error instead 2021-09-19 23:12:42 +01:00
Marc Gilleron fd8d107280 Fix `is_area_editable` converting twice from voxels to blocks 2021-09-19 03:29:09 +01:00
Marc Gilleron 0c31f5a525 Show octree node gizmos with a color gradient based on LOD 2021-09-18 19:54:54 +01:00
Marc Gilleron 8e53fbaa47 Merge branch 'master' into octree_compression 2021-09-18 18:18:09 +01:00
Marc Gilleron 6a6682dfd5 Fixed crash occurring after a few edits when LOD count is set to 1 2021-09-18 01:36:44 +01:00
Marc Gilleron 2971334e85 Changed VoxelToolLodTerrain to use write_box
- Should be faster than get/set_voxel
- No longer expose internal data map
2021-09-17 20:01:15 +01:00
Marc Gilleron ff4e7f9560 Added debug drawing of mesh octree using multimesh (not exposed for now) 2021-09-16 21:54:04 +01:00
Marc Gilleron d901eb66b6 Added functions to LodOctree and use squared distances 2021-09-16 21:03:02 +01:00
Marc Gilleron 58d365d2bf Profiling scopes 2021-09-09 18:53:22 +01:00
Marc Gilleron 7cb1e4008e Use accessor 2021-08-15 17:27:55 +01:00
Marc Gilleron e7e8e72507 Quick fix to avoid error when trying to edit across loaded border.
There should be a better solution in the future, it's not optimal
2021-07-25 19:48:51 +01:00
Marc Gilleron 8c17a1cf20 Added property to configure collision margin 2021-07-10 22:14:17 +01:00
Marc Gilleron 144affe42d Fix errors/crashes when trying to edit voxels on loading borders
- Replaced fatal asserts with soft asserts
- No longer require existence of a mesh when lodding on loaded border.
  As far as voxel data is concerned, it should work just fine.
- Fixed wrong list used when scheduling mesh updates on higher LOD indexes
2021-07-10 20:17:28 +01:00
Marc Gilleron 1ee5bcb80d Renamed Rect3i -> Box3i 2021-05-31 17:12:04 +01:00
Marc Gilleron 983b7bd83d Merge branch 'master' into smooth_texturing
# Conflicts:
#	util/godot/funcs.h
2021-05-22 19:43:39 +01:00
Marc Gilleron efe8bcf9c0 Show a configuration warning when a mesher does not support LOD 2021-05-15 23:41:19 +01:00
Marc Gilleron fa48523073 Added collision layer and mask properties 2021-05-09 20:49:45 +01:00
Marc Gilleron ba78f67394 Fixed another property inconsistency to fix C# bindings 2021-05-08 17:15:15 +01:00
Marc Gilleron b6c89f5088 Merge branch 'master' into smooth_texturing 2021-05-08 01:02:54 +01:00
Marc Gilleron 14cc77eb7c Make getter and setter types match to fix an issue with C# bindings 2021-05-07 22:39:06 +01:00
Marc Gilleron 4e67a1530d Code to debug vertex sharing issues 2021-05-03 00:13:36 +01:00
Marc Gilleron 0cef70a3c0 Fix backward iteration infinite loop when there is only one LOD 2021-04-21 18:29:23 +01:00
Marc Gilleron a00e9928d8 Fix more GCC warnings 2021-04-18 01:59:51 +01:00
Marc Gilleron 7d93a4646d Fix more GCC warnings 2021-04-18 01:48:53 +01:00
Marc Gilleron b846194bea Fix some GCC warnings 2021-04-18 01:29:26 +01:00
Marc Gilleron 1449560f29 Implemented decoupling on VoxelTerrain (no setter yet) 2021-04-13 23:48:35 +01:00
Marc Gilleron 14fcddcee8 Fix meshes not loading in certain configurations where voxel bounds were not rounded correctly 2021-04-05 03:47:25 +01:00
Marc Gilleron e0f2f706aa Added debug_get_data_block_info and fix/improve debug_get_mesh_block_info 2021-04-05 03:46:15 +01:00
Marc Gilleron 19af22fb2b Added voxel_to_mesh_block_position 2021-04-05 03:44:52 +01:00
Marc Gilleron 5f18276b8d Expose setter for mesh block size 2021-04-03 23:51:11 +01:00
Marc Gilleron 758e3bd227 Allow to use block size 32 for mesh blocks while using 16 for data blocks
Still hardcoded but a config should be added
2021-04-03 20:39:37 +01:00
Marc Gilleron 225f332e1f Fix signedness warning 2021-03-27 22:27:55 +00:00
Marc Gilleron 05c35caa92 Added categories to terrain properties 2021-03-27 16:38:52 +00:00
Marc Gilleron c86feda259 Replace lod_split_scale with lod_distance for better clarity 2021-03-27 16:38:20 +00:00
Marc Gilleron c46d5e973d Fix coordinates 2021-03-12 23:36:11 +00:00
Marc Gilleron 944791d5ce Fixes to LOD fading 2021-03-12 23:35:51 +00:00
Marc Gilleron 5a8eee7d4b Added debug function to get octree state 2021-03-11 22:55:52 +00:00
Marc Gilleron cf81f83382 Re-implemented lod fade 2021-03-02 22:49:42 +00:00
Marc Gilleron 76ec90fe34 Moved constants and tables under a folder 2021-02-21 23:58:00 +00:00
Marc Gilleron cb2fcdce1b Fix signedness warning 2021-02-19 01:51:06 +00:00
Marc Gilleron 4d033a2bb4 Added collision update delay to accelerate edit spam a little.
Not easy to use yet, might need the user to use voxel raycast instead of
physics because the hit points will not update often as they sculpt
2021-02-18 19:50:47 +00:00
Marc Gilleron d1207bdd96 Reorganized some utility files 2021-02-17 20:34:35 +00:00
Marc Gilleron c5eb599798 Make the editor preview update in some uncovered scenarios 2021-02-15 21:45:12 +00:00
Marc Gilleron 02972641ea Add option to emit instances from faces 2021-02-15 18:25:48 +00:00
Marc Gilleron 094bbc1fe1 Refactored API to allow editor inspection and preview 2021-02-14 21:55:31 +00:00
Marc Gilleron 7f47b07e0c Fix data reception buffer not cleared after consumption 2021-02-08 01:22:09 +00:00