Commit Graph

206 Commits

Author SHA1 Message Date
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
6c39845387 Removed a few now unneeded methods from VoxelChunk, they got merged into _build_phase. Also added build_mesh_into to VoxelMesher, it's equivalent to the old build_mesh. 2020-02-20 13:44:38 +01:00
8b734eec11 Mesher's build_mesh function now has no argument, and returns an array. 2020-02-20 13:19:54 +01:00
509d45a662 build_phase() in VoxelChunk should be thread safe. 2020-02-16 16:18:41 +01:00
919080a1b5 Added props top the merger library, also it will now merge together all added prop textures. Also api cleanups. 2020-02-16 02:54:17 +01:00
a2fea26837 More work on porting PropTool to c++. 2020-02-15 02:40:40 +01:00
07afd06c2a Now chunks can properly use multiple meshers at the same time. 2020-02-14 19:02:31 +01:00
a457ed400c Added data margin start, and end property to VoxelWorld for easy access. Improved set_voxel, and get_voxel in VoxelChunk to accomodate for margins as originally intended (e.g. if start_margin is 1, indexes go from -1 to size + end margin). Fixed/updated indexing in VoxelMesherCubic. 2020-02-14 03:19:15 +01:00
b5ff42ae11 Started porting PropTool. 2020-02-13 14:34:29 +01:00