Commit Graph

130 Commits

Author SHA1 Message Date
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
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
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
601a61619b Added mesher index property to both VoxelMesher, and VoxelSurface. 2020-02-13 14:16:57 +01:00
8b08a9b14f Ported the TransvoxelMesher from BrokenSeals. 2020-02-13 13:21:30 +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
ba46eafc19 Removed the mesh simplifier, it has it's own repository now. 2020-01-31 16:13:19 +01:00
b0b38396c4 Added mesh simplifier to the build, fixed compile, and started work on bindings. 2020-01-21 23:56:37 +01:00
3ef382b29f A few missing things. 2020-01-20 16:12:45 +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
4a8ed25544 Moved the transvoxel mesher into a folder. 2020-01-14 02:57:32 +01:00
010b20ee55 Fix a few of the issues with the cubic mesher. 2020-01-12 21:58:14 +01:00
a67d0393ca Clang format. 2020-01-09 04:29:05 +01:00
8e02dcb9e8 Fix build. 2019-12-24 03:22:17 +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
de103a3fdf Fixed compile. 2019-11-18 22:35:08 +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
5e323ce718 Removed a few old unused classes. 2019-11-18 20:17:54 +01:00
b60b8a96d6 More work on the build, and more api breakages. 2019-11-18 20:16:29 +01:00
4a5a903a7a Removed the dmc mesher. 2019-11-18 20:04:28 +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
b32a028209 Fixed a few errors I found. 2019-09-05 22:30:20 +02:00
a39b8ae0ad Equiv class 4. 2019-09-05 21:39:32 +02:00
593cb66c88 Fixed equiv class 7. 2019-09-05 18:59:09 +02:00
e93a8f820b Equiv class 15. 2019-09-05 17:21:48 +02:00
5af8477bc6 Equivalence class 14. 2019-09-05 14:16:54 +02:00
5ff408758b Fixed equivalence class 13's uvs. 2019-09-05 13:01:27 +02:00
a51e7ab22f Just a tiny bit more work. 2019-09-05 02:57:59 +02:00
a1df5fb2f7 Fixed equiv class 12 too. 2019-09-05 02:37:48 +02:00
a8a1e6b23d Revert "Commit before revert just in case."
This reverts commit b0ffa79567.
2019-09-05 02:27:13 +02:00
b0ffa79567 Commit before revert just in case. 2019-09-05 02:26:35 +02:00
23480a8bee Added back the const to regularVertexData. 2019-09-05 01:15:04 +02:00
c47c74aea3 Equiv class 11 fix. 2019-09-05 00:54:33 +02:00
8cf78ef519 Fixed thee 10th equivalence class's uv artifacts. 2019-09-05 00:41:40 +02:00
a806aa7eea More uv fixes. 2019-09-04 23:34:23 +02:00
fde13cb4cf More work on the uv glitches. 2019-09-04 23:13:58 +02:00
05781891b3 Work on fixing the uv issues. 2019-09-04 18:33:19 +02: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
7db42b88a1 Now the base light value is settable in the Cubic Voxel Mesher. 2019-07-17 19:51:09 +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
7f0a832677 Implemented Ao generation, and started working on light support. 2019-07-16 16:18:09 +02:00
370702cc1e Work on uv mapping. 2019-07-16 11:11:47 +02:00
fc27061055 Commented out some neighbour checks, that aren't needed. 2019-07-16 01:55:18 +02:00
a8a29b4518 Fixed mesh generation errors. 2019-07-16 01:49:01 +02:00
d35efab890 -Implemented neighbour information query.
-Merged the needed things from the subvoxel helper classes into VoxelCubePoints.
-Mesh generation kind of works.
2019-07-15 20:07:58 +02:00
79d54238c3 Fixed compile, and created the bindings for the new classes. 2019-07-15 02:18:51 +02:00
9a84ab8500 Work on cleaning up up VoxelCubePoints, and Voxel Side Points, and started work on the sub voxel point helper. 2019-07-14 17:33:46 +02:00
3d550a0772 Moved the VoxelNeighbours enum from the old voxel, to the new mesher, also bound it. 2019-07-14 02:18:18 +02:00
ecfcf79f07 Added in a few of my old classes. 2019-07-13 22:03:23 +02:00
115750a66f Added 2 voxel meshers from godot_voxel. 2019-06-10 01:41:57 +02:00
71de54d9a0 Now voxelman can actually make meshes. 2019-06-08 19:47:17 +02:00
b50c9be4e7 More cleanup, and fixed a misunderstanding. 2019-06-08 01:28:39 +02:00
ba05f93aa2 -Removed Voxel, not needed.
-Huge cleanup.
-Moved the voxel query to a new folder, also it's not in the build anymore. Will be removed shortly.
2019-06-07 19:13:07 +02:00
9fb6a4e1c1 Progress on getting voxelman to work again, also cleanups. 2019-06-07 01:33:41 +02:00
e2c8c5c2ca Added in 2 more classes and the updated vector3i from https://github.com/Zylann/godot_voxel. Also added their license to the top of these files. 2019-05-31 23:28:33 +02:00
bc9896b695 Added in the classes which I want to salvage from my test voxel engine. Some of the classes contain horrible code because I learned godot engine development with these, the will be cleaned up. The Vector3i is from Zylann's godot_voxel module, I'll properly credit him a bit later. 2019-05-31 22:54:31 +02:00