130 Commits

Author SHA1 Message Date
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
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
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
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
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