Commit Graph

57 Commits

Author SHA1 Message Date
0e4e59e970 Remove create_mesher and _create_mesher from chunks. Mesher creating now should be handled by the world itself in _create_chunk. This makes worlds able to use different chunk mesher setups for different parts of a world. Also this cust down the amount of classes that you need to create if you are implementing a new mesher. 2020-10-06 19:43:49 +02:00
eb1d55f05b More work on the logic, and api fixes. 2020-10-03 17:18:43 +02:00
235943f7ca Removed the old meshing implementation, and replaced most logic to the new one. The code compiles, but it won't work for now. Also other cleanups. 2020-10-02 23:47:39 +02:00
3f04002453 Fix errors with bindings 2020-10-02 12:24:00 +02:00
71f69666cd Moved VoxelJob to a new folder. Also added generate_ao and generate_random_ao from voxel chunk into it. 2020-10-01 20:18:43 +02:00
142809d0cb Add an alternative type and isolevel to the default channels enum. 2020-08-21 20:02:47 +02:00
5358c99646 Now VoxelChunkDefault supports coloring MeshDataResources that span multiple chunks. 2020-08-16 18:20:16 +02:00
d8cf2af059 Same change to BUILD_PHASE_MESH_DATA_RESOURCES aswell. 2020-08-04 15:36:03 +02:00
6af711322d BUILD_PHASE_TERRARIN_MESH now can also distribute it's calculations onto multiple frames. 2020-08-04 15:30:34 +02:00
469927cc3b Now BUILD_PHASE_COLLIDER, and BUILD_PHASE_LIGHTS can both distribute their work onto multiple frames. 2020-08-04 14:53:10 +02:00
0a4d07c582 The terrarin mesh setup phase can now distribute it's calculations onto multiple frames.. Also small fixes to the single threaded logic. 2020-08-04 14:40:40 +02:00
919620031b Fix compile if ThreadPool is not present. 2020-08-04 10:08:04 +02:00
bf58b94a99 Removed the thread from VoxelChunkDefault. 2020-08-04 09:49:40 +02:00
cff203fc49 Now the threading is handled by ThreadPool. 2020-08-04 09:44:18 +02:00
b95f055acd Add lod falloff property to VoxelWorldDefault. Also improved _update_lods(). 2020-08-03 19:05:40 +02:00
698f6083ea Add MESH_DATA_RESOURCE_PRESENT around a piece of code. 2020-07-18 14:19:13 +02:00
18ad178b1e Moved the create_meshers call from BUILD_PHASE_SETUP to _build. This causes it to run on the main thread. This is the first time I got a crash related to this, also the engine docs suggests that only scenetree manipulation is unsafe from threads, so this might have been caused by something else. 2020-07-18 13:12:29 +02:00
5ee5b12a4e Update _bake_light in VoxelChunkDefault to use the new apis. 2020-07-07 17:35:44 +02:00
6f7c4fbc8a Removed VoxelChunkPropData, the api of VoxelWorld, and VoxelChunk now uses PropDatas directly. 2020-07-07 01:06:46 +02:00
1355c301e8 Update draw_debug_mdr_colliders's logic to use the new api. Also fix error spam when a mesh data doens't have a collider. 2020-06-30 20:28:37 +02:00
3190217284 Moved simple collider storage from VoxelChunkDefault to VoxelChunk and separated it from the mesh data resource api. 2020-06-30 18:55:50 +02:00
138614f743 Update MeshDataResource offsets, as now they are Transforms. 2020-06-30 15:24:11 +02:00
a4b5400a4e Fix debug collider offsets. 2020-06-30 15:10:48 +02:00
7777056af3 Fix collider transform. 2020-06-30 11:59:22 +02:00
bb2f13b075 Small improvements. Also added commented out code for debugging the terrarin meshes (They will need to be converted be lines). 2020-06-29 23:44:54 +02:00
b54a1021d4 Moved away from using ImmediateGeometry for debug meshes. Also implemented debugging mdr colliders. 2020-06-29 23:08:52 +02:00
2e69796d08 Implement collider transforms. 2020-06-28 21:55:00 +02:00
1996f60f0f Fix indexing. 2020-06-28 21:30:26 +02:00
21d135fb0b Now chunk can only have one prop mesher. 2020-06-28 20:04:40 +02:00
0138c02bf8 Implemented meshing chunk's mesh data resources. 2020-06-28 19:02:49 +02:00
78be4a6666 A bit more work on props. 2020-06-23 19:32:37 +02:00
7aa0edf98e Work on updating the prop meshing implementation (does not work yet). 2020-06-23 14:30:49 +02:00
88ab910eb8 Brought back the old Prop implementation, and PropTool, because not only this implementation was already done, it will work better than spawning possibly thousands of nodes with the props module, but I also found a way to eventually make it more user friendly. 2020-06-22 21:49:58 +02:00
1d51be2f0b Moved 4.0 compatibility code into a new defines.h (like in ESS). 2020-05-23 10:34:47 +02:00
edce32b190 Fix compile for 4.0. 2020-05-16 21:32:02 +02:00
9475986ee0 Added is_inside_tree() property to VoxelChunk. 2020-04-22 12:33:14 +02:00
b970c86264 Hide a few properties from the editor, and also from serialization. 2020-04-22 12:26:53 +02:00
49af0c9f30 Fix potential crash. 2020-04-22 12:23:49 +02:00
a306f8cf91 Add queued generation the VoxelChunkDefault. 2020-04-22 12:16:31 +02:00
5235641122 Only build liquid colliders inside the editor. 2020-04-20 17:41:37 +02:00
61c246c069 Disabled area generation for now. 2020-04-20 17:33:04 +02:00
9635ef064c A bit more work on areas. They don't work properly yet, they might need to have a closed mesh. 2020-04-20 17:30:22 +02:00
ed990caa32 Fix threaded ingame area generation. 2020-04-20 13:59:37 +02:00
70c884d273 Fix a few in-editor crashes. 2020-04-20 13:54:24 +02:00
5748179d66 The temp collider arrays are now properly cleared. 2020-04-20 13:40:27 +02:00
289c456428 Now VoxelChunkDefault can create area colliders aswell, liquids are created using these in the running game. (Only there because the editor needs raycasting.) Also fixed setting liquid visibility. 2020-04-20 01:01:24 +02:00
6e9a952a2a Implemented liquid meshing. 2020-04-20 00:31:46 +02:00
21ad01ca80 Removed separate liquid surfaces. They will be contained inside the normal voxel arrays. 2020-04-19 23:35:47 +02:00
4a2321b161 Some settings in world will now get distributed to chunks. is_build_threaded has been moved from coxel chunk default to voxel chunk. ALso fixed a few crashes. 2020-04-18 02:15:01 +02:00
2d5b9ed029 Removed build_deferred, and build_prioritized methods from the default chunk. 2020-04-17 20:24:50 +02:00