Commit Graph

79 Commits

Author SHA1 Message Date
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
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
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
3a8310c51f More improvements to chunk's threading logic. Also removed the build_phase_done function I added a few hours ago, and made build_phase return a bool (true if the phase is completed, false if not), essentially achieving the same effect. 2020-02-12 20:34:16 +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
01bb492760 Merge branch 'meshers' 2020-01-13 00:40:10 +01:00
104a307d55 Now Chunk has a vector of meshers, this simplifies for example liquid meshing, and this allows combining multiple meshers. Also the number of build phases is settable. 2020-01-13 00:39:55 +01:00
c0c0fa403c Fix a typo in Chunk's bindings. 2020-01-12 21:58:23 +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
edec04cfdc Chunk now supports threaded builds. Also small fixes. 2019-11-19 20:39:45 +01:00
a377c994e9 Fixes. 2019-11-19 19:14:46 +01:00
ffb154a4fe More work. 2019-11-19 16:42:38 +01:00
1003a393e6 More work. 2019-11-19 16:33:06 +01:00
d2566ab82b gdscript->c++ conversions. 2019-11-19 14:42:21 +01:00
0594215929 Seemingly the bindings are done. Also added a new chunk build phase. 2019-11-19 00:54:28 +01:00
7885d49949 Implemented chunks's new functionality, and work on the bindings. 2019-11-18 23:50:06 +01:00
5bfe5e7905 Fixed linker errors aswell. 2019-11-18 22:40:58 +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
b60b8a96d6 More work on the build, and more api breakages. 2019-11-18 20:16:29 +01:00
f00933bb71 More work on fixing the build. 2019-11-18 20:03:40 +01:00
decf9a4af2 Work on the interface, and build. 2019-11-18 19:43:15 +01:00
5b275155c5 Removed the classes that I got from the other voxel module. Moved the stuff that I wrote from VoxelBuffer to VoxelChunk. I'll reimplement the needed stuff myself into the chunk. 2019-11-18 19:22:11 +01:00
d8035c86e9 VoxelBuffer now stores it's actual size separately. 2019-11-17 03:25:46 +01:00
5e5d95aac5 Added margin to VoxelBuffer. 2019-11-17 02:17:40 +01:00
e0deb2ea66 Added liquid, and clutter mesh allocations into Chunk, also related modifications. 2019-11-10 13:42:59 +01:00
c674a8c045 Added chunk states, and dirty flag to Chunk. 2019-11-10 03:10:42 +01:00
f0cd4008fc Added WorldArea. 2019-11-10 01:03:48 +01:00
7ee2017568 Added 2 more build phases. 2019-11-09 23:43:29 +01:00
3b722e24f9 Added binds for liquids. 2019-11-09 23:39:19 +01:00
8bbc6da5d2 Now PropData can add lights into chunks. 2019-11-08 11:52:36 +01:00
2c49d2e8d9 Renamed VoxelmanProp to PropData. 2019-11-07 21:32:31 +01:00
033fe750c0 Updated the color baking algorithm, and restructured build phases. 2019-11-06 17:43:51 +01:00
f23f3122a4 Better snap axis defaults. 2019-11-06 13:44:22 +01:00
3f7b422662 VoxelChunk is s Spatial now (again). 2019-11-06 03:37:22 +01:00
440b4eadfb Added a Texture property to VoxelChunkPropData aswell. 2019-11-05 21:27:31 +01:00
8e4e65371d Typo fixes. 2019-10-16 00:50:30 +02:00
472b077d3f Added a "_prop_added" vmethod to Chunk. 2019-10-14 23:59:42 +02:00
fd3a162126 Reworked the way chung handles props, and made chunk building fully scriptable. 2019-10-10 23:51:05 +02:00
cf9e3e8f19 Added an EnvironmentData class. 2019-10-07 22:22:47 +02:00
0175490bc5 Now VoxelWorld inherits from Navigation. 2019-10-05 22:53:48 +02:00