Commit Graph

110 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
5a9b99c199 Missing guards, and fixed an ERR_FAIL_INDEX_V. 2020-10-12 18:53:35 +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
8c06a778f2 Now generation works again. Also removed some stray debug prints, and small cleanups. 2020-10-06 00:05:06 +02:00
14735b8569 Fix running the first job. 2020-10-05 22:34:11 +02:00
08c2fc8fc1 More work on the logic. 2020-10-03 21:58:24 +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
f8663879dd bake_mesh_array_uv in VoxelChunk now can't index outside the image's size. 2020-07-20 21:21:09 +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
7aa0edf98e Work on updating the prop meshing implementation (does not work yet). 2020-06-23 14:30:49 +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
a34ceedf6a Now merge_mesh_array and bake_mesh_array_uv will work properly even if the supplied arrays don't have all the expected channels. 2020-04-22 12:20:33 +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
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
b046db78ed Removed leftover print. 2020-04-05 22:56:40 +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
6cae9a0494 Set the property hint for voxel_world to 0. This fixes saving chunks as resoruces. 2020-04-02 21:38:19 +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
ee03e42a5a Fix assign. 2020-03-30 14:57:07 +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