Commit Graph

264 Commits

Author SHA1 Message Date
0202233a6f Added lz4. It will be used to compress chunk data. The choice of the algorithm was inspired by Zylann's godot_voxel. 2020-03-31 12:27:29 +02:00
a36b7a8ab6 Fix linux build with tools=no. 2020-03-31 00:57:58 +02:00
3969e0ba5f Fix a multithreading related crash. 2020-03-30 23:15:23 +02:00
f26fe74fc4 Ported the lod implementation from Broken Seals. 2020-03-30 19:46:39 +02:00
393ee1fb1b DefaultVoxelChunk now has a general interface for storing mesh/collider RIDs. 2020-03-30 18:32:39 +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
4a3c9836ff Made the default visibility change event overrideable in VoxelChunkDefault. 2020-03-29 23:55:40 +02:00
541abb954d Now materials in Library are stored with vectors. This makes it possible to have different materials for every lod level for example. 2020-03-29 20:19:38 +02:00
ddfdb4489f Missed a binding. 2020-03-24 18:44:17 +01:00
87d387388c Apparently, calling emit signal and set_process_internal form a separate thread is not smart. 2020-03-24 18:42:01 +01:00
3689371503 Merge branch 'master' of https://github.com/Relintai/voxelman 2020-03-24 16:56:30 +01:00
a5c5a7b56b Remove -std=c++11 cppflag as it!s not needed. Also compile fix for msvc. 2020-03-24 16:56:04 +01:00
482ff87fe1 Update the class list in config.py, and sync classref to the current source. 2020-03-22 01:09:29 +01:00
d0578c24d4 Separated VoxelStructure into 2 classes, and made it scriptable. 2020-03-19 13:08:58 +01:00
666695a220 Now VoxelChunkDefault will move it's meshes if it's transform changes, free them on EXIT_TREE, and sets their visibility. Also added a few missing break statements. 2020-03-15 19:33:10 +01:00
080e8f2437 Broke up VoxelChunk into VoxelChunk and VoxelChunkDefault. 2020-03-12 23:23:38 +01:00
9154009250 Added remove_doubles, and remove_doubles_hashed methods to VoxelMesher, the hashed version is actually about 40-ish percent faster usually, but if hash might occur with it. The TransvoxelMesher now automatically simplifies it's meshes after a buffer is added, using the hashed version (to see in practice how common hash collisions are). 2020-03-09 00:17:50 +01:00
a22be7208c The transvoxel mesher now won't allocate small arrays constantly during generation. 2020-03-08 23:40:22 +01:00
45976ca387 Reworked VoxelMesher's api a bit, now it works like SurfaceTool. Also it now stores data the same way i.e. 1 container, with a Vertex struct (I took the Vertex struct, and it's hasher from Surface Tool (because the hasher was private)). This will make mesh post processing a lot easier. 2020-03-08 22:36:58 +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
e4b094a27c VoxelMesher's build_collider now returns an array, also it is now bound. 2020-03-06 15:39:15 +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
b9f1de7dd9 VoxelMesher doesn't use SurfaceTool internally anymore. 2020-03-04 23:06:30 +01:00
d08da0375a Better way of handling the previous improvement. It will actually work now properly aswell. 2020-03-04 20:49:00 +01:00
f9d13c611f Improved aborting chunk build. 2020-03-04 20:12:15 +01:00
59291a9417 Fix math in is_position_walkable. 2020-03-04 18:35:09 +01:00
fbd2903477 Added is_position_walkable query to World, also a few related things. 2020-03-04 15:21:32 +01:00
dec4fcd402 Added get_max_frame_chunk_build_steps to be able to limit the chunk build steps launched per frame. Also a few smaller improvements. 2020-03-04 14:59:34 +01:00
d431ca4daa Added index-based remove chunk function, also fixed remove_chunk, now it properly removes the given chunk from the chunk map. 2020-03-04 10:48:53 +01:00
ac75c78be1 Better default value for the added temp path editor setting. 2020-02-29 16:44:42 +01:00
0ceabc25ec Prop tool is fully ported. (Still needs a few bugfixes though). 2020-02-29 16:23:14 +01:00
d8d34d5bce More work on porting PropTool. 2020-02-29 00:21:59 +01:00
2bf00fd547 Lots of work on porting PropTool, and the editor plugin itself. 2020-02-27 23:58:23 +01:00
6178cf92d6 Ported PropToolEntity Aswell. 2020-02-27 22:50:18 +01:00
c9978d13ba Ported PropToolProp aswell. 2020-02-27 21:37:50 +01:00
0a27c60136 Fully ported PropToolScene aswell. 2020-02-27 21:23:45 +01:00
eeb0a8b198 Fully ported ProlToolLight aswell. 2020-02-27 21:06:45 +01:00
0e12fd732d Fully Ported PropToolMesh. 2020-02-27 20:41:09 +01:00
d672f997ba Bit more work on porting PropTool. 2020-02-27 16:58:08 +01:00
e45e3875f8 Setup for a new VoxelWorldEditor. 2020-02-27 14:27:52 +01:00
d85187b6a8 Removed stray files. 2020-02-27 13:43:46 +01:00
36063410f9 Hide saved channels in the editor, and from scripts. 2020-02-26 12:22:46 +01:00
3e98b8e01c Added a few properties to chunk, so they can be saved into PackedScenes if needed. 2020-02-26 01:08:18 +01:00
5b32345181 Fleshed out VoxelStructure's api. 2020-02-23 22:09:45 +01:00
0a4072b9b8 Bit more work on porting PropTool. 2020-02-21 16:12:55 +01:00
f25dac92ea Started reworking VoxelStructure's api. 2020-02-21 10:42:51 +01:00