Commit Graph

53 Commits

Author SHA1 Message Date
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
64b9476eca Moved the texture scale property to VoxelMesher. 2020-08-25 23:09:41 +02:00
5938f7f783 Now the type and isolevel channels are customizable in the meshers. 2020-08-21 20:02:22 +02:00
5358c99646 Now VoxelChunkDefault supports coloring MeshDataResources that span multiple chunks. 2020-08-16 18:20:16 +02:00
0138c02bf8 Implemented meshing chunk's mesh data resources. 2020-06-28 19:02:49 +02:00
61a8b9224f Removed _add_chunk_liquid from VoxelMesher as it's not used anymore. 2020-06-12 18:06:41 +02:00
1d51be2f0b Moved 4.0 compatibility code into a new defines.h (like in ESS). 2020-05-23 10:34:47 +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
a4fc573f85 Optional module dependencies are actually optional now. 2020-04-06 22:47:03 +02:00
b9ba0c0bf9 Moved _bake_colors and _bake_liquid_colors into VoxelMesherDefault. Also made the other meshers inherit it. 2020-04-06 14:21:46 +02:00
b4c61ac674 Created a default version from world, and the mesher. Also added a BuildFlags enum to VoxelChunkDefault. Converted a few properties to use this. 2020-04-06 13:41:45 +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
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
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
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
e4b094a27c VoxelMesher's build_collider now returns an array, also it is now bound. 2020-03-06 15:39:15 +01:00
b9f1de7dd9 VoxelMesher doesn't use SurfaceTool internally anymore. 2020-03-04 23:06:30 +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
07afd06c2a Now chunks can properly use multiple meshers at the same time. 2020-02-14 19:02:31 +01:00
601a61619b Added mesher index property to both VoxelMesher, and VoxelSurface. 2020-02-13 14:16:57 +01:00
201ea0ce1f Now the built in bake_colors method will keep the original alpha in colors if set. Also Added uv2 support in build_mesh. 2020-02-13 03:25:47 +01:00
8a2524dc57 Improved multithreading a lot, it doesn't seem to crash anymore. Also made chunk mesh generation faster by letting build phases run one after an another without launching new threads (using is_phase_threaded). 2020-02-12 14:16:31 +01:00
fd1ff4b4ff Better chunk building setup. And smaller fixes and tweaks. 2020-02-10 23:39:57 +01:00
db77530ec1 Updated the license for 2020, and added it to the top of my cpp files. 2020-01-31 19:52:37 +01:00
7e8cbc1fb5 Compile fix. 2020-01-20 15:10:30 +01:00
531599dd1d Moved everything to a new class. 2020-01-20 11:52:54 +01:00
83806f4bc1 More work on porting. 2020-01-20 11:45:46 +01:00
7a35337367 Started porting/integrating Whinarn's UnityMeshSimplifier into VoxelMesher. (https://github.com/Whinarn/UnityMeshSimplifier). 2020-01-20 03:34:07 +01:00
a95973eeba Replaced Vectors to PoolVectors in VoxelMesher. Also added uv2 methods. 2020-01-19 18:25:03 +01:00
a67d0393ca Clang format. 2020-01-09 04:29:05 +01:00
ce4020962e Now the mesher will set the material for the generated meshes directly, also it sets the material as surface material instead of an override material. 2019-12-03 19:22:04 +01:00
7885d49949 Implemented chunks's new functionality, and work on the bindings. 2019-11-18 23:50:06 +01:00
d5acb28a90 More work on fixing compile. 2019-11-18 22:22:41 +01:00
9103db635f More work on compile. 2019-11-18 21:53:33 +01:00
f00933bb71 More work on fixing the build. 2019-11-18 20:03:40 +01:00
e0deb2ea66 Added liquid, and clutter mesh allocations into Chunk, also related modifications. 2019-11-10 13:42:59 +01:00
b6afad3024 Fix 2 typos. 2019-11-06 17:56:45 +01:00
033fe750c0 Updated the color baking algorithm, and restructured build phases. 2019-11-06 17:43:51 +01:00
588ed550c8 Added texture to VoxelmanPropMesh, and added material, and uv_margin properties to VoxelMesher. 2019-11-05 21:22:39 +01:00
2ed334dade Now Voxel Surfaces work again. 2019-08-11 22:28:26 +02:00
9b842c159a -Moved the basic mesh color baking into the base VoxelMesher, as well as the 2 light specific parameters.
-Added a binding from the AO VoxelBuffer enum value.
-Renamed back draw_debug_voxels_colored to draw_debug_voxels.
2019-07-24 02:14:02 +02:00
47f3fa2a7f Now the props use transforms internally, instead of vectors. And improved the design a bit. 2019-07-20 14:48:56 +02:00
4ad2faca86 Started reworking the mesher, and the cunk's interface. 2019-07-19 20:54:09 +02:00
029f241005 Implemented props. 2019-07-18 18:56:42 +02:00
9c036f0706 Now VoxelChunk uses the VisualServer, and PhysicsServer directly. 2019-07-18 01:43:58 +02:00
469773a9fd Fixed the voxel mesher, and converted it to c++. Also small bugfixes, and binding improvements. ALso moved a few export variables from GDscript to bindings. 2019-07-17 17:01:12 +02:00
e4e38c0bde Work on lights, and cleanups. 2019-07-17 02:28:16 +02:00