Commit Graph

97 Commits

Author SHA1 Message Date
1d1fdf5c56 Same treatment to jobs in VoxelChunk. 2020-10-26 18:29:05 +01:00
851b4efb52 Same change to the collider-related method in VoxelChunk. 2020-10-26 17:24:22 +01:00
98155939c2 Renamed the mesh data resource getters in VoxelChunk to a new format, where the mesh_data_resource in the name is a prefix and not a postfix. This makes VoxelChunk's in engine documentation much more usable. 2020-10-26 16:52:38 +01:00
f14faead25 Add voxel structure storage to VoxelChunk aswell. 2020-10-25 17:05:15 +01:00
c4eb758d20 Added _THREAD_SAFE_CLASS_ declaration to VoxelChunk and also made job-related methods thread safe. 2020-10-23 19:47:04 +02:00
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
0db9475db1 Added get_current_job_index and next_job tp VoxelChunk. 2020-10-02 16:49:36 +02:00
46132202b0 Added generation specific process and physics process to VoxelChunk and VoxelJob. 2020-10-02 16:45:08 +02:00
be2cd7a4b3 Added a vector of jobs and an api for it into VoxelChunk. 2020-10-01 20:49:54 +02:00
6f8e54879b Added channel allocation queries to VoxelChunk. 2020-09-05 20:06:23 +02:00
5358c99646 Now VoxelChunkDefault supports coloring MeshDataResources that span multiple chunks. 2020-08-16 18:20:16 +02:00
cff203fc49 Now the threading is handled by ThreadPool. 2020-08-04 09:44:18 +02:00
c9ee935af3 Added an add_mesh_data_resource variant to VoxelChunk, also added the apply_voxel_scale parameter to them. Also added a few transform helpers. 2020-07-20 01:06:34 +02:00
6f7c4fbc8a Removed VoxelChunkPropData, the api of VoxelWorld, and VoxelChunk now uses PropDatas directly. 2020-07-07 01:06:46 +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
9e2d71169b Add prop uv rect query into the library, and make add_mesh_data_resource use it. 2020-06-28 21:31:26 +02:00
21d135fb0b Now chunk can only have one prop mesher. 2020-06-28 20:04:40 +02:00
cb6d8f5156 Added mesh data resources to VoxelChunk. 2020-06-28 16:57:53 +02:00
a991de9d2e Moved PropData to the props modue. 2020-06-27 17:04:40 +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
7219d7b2d4 Added a Cubic chunk and World. 2020-06-12 19:34:47 +02:00
1d51be2f0b Moved 4.0 compatibility code into a new defines.h (like in ESS). 2020-05-23 10:34:47 +02:00
9475986ee0 Added is_inside_tree() property to VoxelChunk. 2020-04-22 12:33:14 +02:00
6e9a952a2a Implemented liquid meshing. 2020-04-20 00:31:46 +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
367c203cc6 Added lots of const qualifiers to world and chunk. 2020-04-16 17:10:04 +02:00
dd0fa1d7ea Cleaned up the prop spawning api in chunk and world. 2020-04-15 13:06:45 +02:00
a63ae2183a Removed _THREAD_SAFE_CLASS_ from VoxelChunk as its not used aywhere right now. 2020-04-15 12:44:16 +02:00
7a3e4ecbe3 Cleaned up the light baking api. 2020-04-15 12:41:52 +02:00
1f23f61b3a Ran clang format, as apparently I had it off. 2020-04-10 13:55:27 +02:00
073e1aeb97 Fix build for 4.0. 2020-04-09 12:34:39 +02:00
9fe51572f4 Didi the same optimization to the transvoxel uv mesher. 2020-04-07 14:40:35 +02:00
f7842e1ab2 The blocky mesher is a lot faster now. 2020-04-07 14:23:20 +02:00
a4fc573f85 Optional module dependencies are actually optional now. 2020-04-06 22:47:03 +02:00
25da88da19 Add the ability to get or set a channel compressed. 2020-04-05 22:07:52 +02:00
dfee0a7786 Added a blocky mesher, chunk, and world (The minecraft-style mesher). It's incomplete. Also ported the light baking step from Broken Seals, and fixed a few warnings. 2020-04-05 01:36:41 +02:00
2d2b7c8c3e Started reworking the way props are handled. Removed every old PropData related classes. Props are now just normal PackedScenes. Spawning conveniences/network synchronization will come later. 2020-04-04 17:22:07 +02:00
bf211fd430 Moved everything that is prop related to a new repository (props). It is required for this to compile for a short wile, while I rework things. 2020-04-03 09:25:07 +02:00
9da5d2e2d0 VoxelChunk now inherits from Resource instead of from Spatial. This is to make the scene cleaner (especially after I implement the world editor plugin). As a small bonus this should also make multithreading-related crashes harder to create, as manipulating the Scenetree from a thread by accident is now a lot harder. 2020-04-02 21:28:19 +02:00
dfafb23342 VoxelChunk now won't expose the channels for the editor. This functionality should be implemented per chunk implementation. Did not delete the code yet, just commented it out. 2020-03-31 12:42:22 +02:00
4691e2aaef Ported merge_mesh_array and merge_mesh_array from Broken Seals. 2020-03-30 14:36:49 +02:00
080e8f2437 Broke up VoxelChunk into VoxelChunk and VoxelChunkDefault. 2020-03-12 23:23:38 +01:00
29b77a3a6d Finished up the rework I started in the prevoius commit. 2020-03-06 21:09:13 +01:00
90cbfe02cc started reworking how chunk handles threaded builds. 2020-03-06 16:12:39 +01:00
8f71179c5e More work on Chunk's threading. 2020-03-06 15:39:55 +01:00
370e14f6c8 Removed the temp mesh array I just added from voxel chunk. 2020-03-06 14:27:04 +01:00
656f0ba9fa build_phase() and _build_phase() in Chunk now won't return/need to return a value, as get_build_phase_done() is equivalent. Also now chunk building is actually threaded, as it seems like I managed to remove thread creation in one of the refactor commits. Also fixed a few smaller issues/inconsistencies. 2020-03-06 14:22:04 +01:00