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
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
Cory Petkovsek
9129016567
Fix invisible VoxelTerrain
2020-01-10 19:57:49 +08: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
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
Cory Petkovsek
9a06cdd3ef
Fix mono build warnings
2019-10-04 02:17:44 +08:00
Marc Gilleron
14bfcb172c
Implement voxel tool for classic terrain
2019-09-08 19:42:25 +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
b284541219
Cleanup includes
2019-09-05 19:43:25 +01:00
Marc Gilleron
4ab688c9be
Barebones edition, untested WIP
2019-09-05 02:24:16 +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
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
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
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
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
f14b374931
Made block size and a few other params modifiable (not so easy, though)
2019-08-24 01:44:27 +01:00
Marc Gilleron
e1d716d454
Merge branch 'master' into persistence
2019-08-17 20:16:22 +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
b00ec1ccad
Merge branch 'master' into persistence
2019-08-09 20:07:43 +01:00
Cory Petkovsek
2e6256f6a5
Revert adding material property to fix error message
2019-07-06 00:19:29 +09:00
Cory Petkovsek
18626133cd
Allow set_material from gdscript
2019-07-04 00:58:39 +09: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
b13dccd998
Fix gcc shadow warning
2019-06-22 23:24:34 +09:00
Cory Petkovsek
f6a9c5761a
Fix gcc sign comparison warnings
2019-06-18 14:24:56 +09:00
Marc Gilleron
3feb32e194
Fix a crash when a VoxelTerrain is created and deleted without ever entering the tree. Was caused by Godot creating dummy instances of VoxelTerrain just to call get_property_list
when I open the inspector...
2019-06-02 02:30:22 +01:00
Marc Gilleron
5ecd449acc
Fixed VXB saving so that it actually works for lod0-only terrain:
...
- Don't rely on ERR_FILE_NOT_FOUND, Godot never returns that from FileAccess...
- Fix LOD not used in block coordinates conversion
- Fix block size saved as u8 but read as u32 in meta file
- Fix block file path not being prepended directory path
- Fix negative coord block file path containing overflowed uint
- Fix VoxelDataLoader processor not being assigned block size in some cases
- Fix VoxelDataLoader not processing save requests properly
- Fix VoxelTerrain not actually sending save requests on destruction
2019-06-02 01:59:39 +01:00
Marc Gilleron
439e5d9964
Fix sort heuristic being wrong on pending blocks surviving more than one thread_sync(), we really have to overwrite it
2019-06-02 01:54:17 +01: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
4a90ca10a5
Rename "provider" files to "stream"
2019-05-25 16:16:03 +01:00
Marc Gilleron
2e1b13ffea
Rename VoxelProvider* => VoxelStream*
2019-05-25 16:07:38 +01:00