Commit Graph

  • 04b6bfa88f Added in some of the uv calculation stuff from my experimental voxel engine, to maybe help wilth better seeing the changes that I want. master Relintai 2019-05-17 20:12:08 +0200
  • eec55057c3 Created more bindings for the library, and reworked the way the voxel getters and setters are bound, so it's more in line with godot's internal classes. Relintai 2019-05-17 18:38:04 +0200
  • efe58f1af6 Added exclusive area parameter to block processors so they can remove blocks from their queue lod Marc Gilleron 2019-05-12 16:33:25 +0100
  • 561f95a506 Added stats for dropped block loads and meshs Marc Gilleron 2019-05-12 16:30:45 +0100
  • 8126d732b6 Fix block processors' sorting function Marc Gilleron 2019-05-12 16:19:08 +0100
  • 1065aa40ef Useless comment Marc Gilleron 2019-05-12 16:17:57 +0100
  • 960236b155 Remove commented function I never used Marc Gilleron 2019-05-12 16:17:43 +0100
  • 017f64ddb9 Optimized VoxelProviderNoise with a noise buffer so it does less OpenSimplex calculations Marc Gilleron 2019-05-11 17:42:56 +0100
  • a521501add Move both meshing and loading sheduling to LodOctree polling Marc Gilleron 2019-05-10 18:56:48 +0100
  • 29298958e7 Fix mistake in previous commit about missing binding argument Marc Gilleron 2019-05-10 00:57:09 +0100
  • 255acbb739 Remove wrong CRASH_COND, also use get/setters for VoxelBlock properties Marc Gilleron 2019-05-09 22:00:54 +0100
  • 96183e0c51 Fix missing argument in voxel/block conversion functions Marc Gilleron 2019-05-09 21:59:03 +0100
  • 81eeb48ac6 Reduce amount of marching squares generated as skirts Marc Gilleron 2019-05-09 19:11:40 +0100
  • cf7ece7a58 Remove BlockState and replace it with loading_blocks set and enum inside VoxelBlock Marc Gilleron 2019-05-09 19:11:17 +0100
  • 73d5d9993c Load blocks on demand instead of speculatively, it's faster Marc Gilleron 2019-05-08 20:53:51 +0100
  • 035e45d0a3 Fix missing destructor in VoxelBlock... woopsie Marc Gilleron 2019-05-08 20:36:27 +0100
  • d21974e122 Changed debug methods, also fixed blocked lods due to small block region extent Marc Gilleron 2019-05-08 00:57:34 +0100
  • 61e7c82d74 Indicate LOD works with smooth terrain Marc Gilleron 2019-05-06 01:39:45 +0100
  • 9b2104e93e Add smooth voxels screenshot to the README Marc Gilleron 2019-05-05 20:49:56 +0100
  • dc0b5a3bb5 Add smooth terrain screenshot Marc Gilleron 2019-05-05 19:55:05 +0100
  • 40ccdd8fea Expose material and LOD settings Marc Gilleron 2019-05-05 19:54:47 +0100
  • 310e2172ff Added stat to monitor LODs blocked by non-ready meshes Marc Gilleron 2019-05-05 19:15:50 +0100
  • fc4dee54d7 Added VoxelProviderNoise for testing Marc Gilleron 2019-05-05 18:27:33 +0100
  • 1baa13ff3b Added VoxelBuffer::clear_channel_f() Marc Gilleron 2019-05-05 18:27:09 +0100
  • 4e9880fb8c Fix bad value fetch Marc Gilleron 2019-05-05 17:01:40 +0100
  • 46784e4700 Make marching cubes skirts an option in VoxelMesherDMC, also use more C++11 initializers Marc Gilleron 2019-05-05 17:00:42 +0100
  • 1f219e68eb Added marching square skirts to hide most LOD cracks Marc Gilleron 2019-05-05 03:56:18 +0100
  • d93f23337a Added stats to VoxelLodTerrain Marc Gilleron 2019-05-05 01:09:12 +0100
  • 8850019dc4 Put LodOctree child position calculation in a function Marc Gilleron 2019-05-04 17:58:33 +0100
  • f0089dce8b Use C++11 member initializers Marc Gilleron 2019-05-04 16:30:39 +0100
  • 295374b99f Don't subdivide or unsubdivide if meshes aren't ready Marc Gilleron 2019-05-04 16:29:52 +0100
  • 9bab6c04d1 Added VoxelLodTerrain, focused on LOD. No seam management, no editing yet. Marc Gilleron 2019-05-04 00:02:10 +0100
  • 9363f54e8d Comments Marc Gilleron 2019-05-04 00:00:50 +0100
  • b24a0d4140 Make blocky voxels optional in VoxelMeshUpdater Marc Gilleron 2019-05-03 23:59:21 +0100
  • 7b32426246 Handle LOD in VoxelProviderImage (roughly) Marc Gilleron 2019-05-03 23:55:52 +0100
  • 2b20d90804 Added bit-shifting and comparison operators to Vector3i Marc Gilleron 2019-05-03 23:54:35 +0100
  • 5851e4849f Added lod parameter to VoxelProvider Marc Gilleron 2019-04-29 21:57:39 +0100
  • c80a24ef0b Moved is_mesh_empty() to utility.h Marc Gilleron 2019-04-29 21:32:28 +0100
  • d1c21bdf5d Remove function from class declaration, doesn't need to be in here Marc Gilleron 2019-04-29 21:31:52 +0100
  • 7c6d4f3242 Moved ObjectPool to util/ and moved OctreeTables to root Marc Gilleron 2019-04-29 21:31:08 +0100
  • 66d4a913bd Use std::vector for speed Marc Gilleron 2019-04-28 21:02:42 +0100
  • faefde721a Add base class to all meshers, gather common things in it Marc Gilleron 2019-04-28 20:48:59 +0100
  • 12a97cca5a Reorganize all files and rename a few things Marc Gilleron 2019-04-28 17:58:29 +0100
  • c8fbf19814 Rename get/set_voxel_iso => get/set_voxel_f Marc Gilleron 2019-04-28 16:28:49 +0100
  • ce57c656d5 Remove repetition Marc Gilleron 2019-04-28 04:27:37 +0100
  • 00decc3a61 Update README since there is now a more recent marching cubes mesher Marc Gilleron 2019-04-28 04:25:27 +0100
  • 766e3d882c Subtract should actually use inverted signed distance dmc Marc Gilleron 2019-04-28 03:51:24 +0100
  • 59c5a43915 Fixed VoxelMap::get/set_voxel_f bound to the wrong function Marc Gilleron 2019-04-28 02:27:50 +0100
  • c837ca4dd0 Code formatting Marc Gilleron 2019-04-28 01:34:00 +0100
  • d6bb354bd9 Added smooth_meshing option to VoxelTerrain and handle padding differences it introduces Marc Gilleron 2019-04-28 01:32:23 +0100
  • fe37ed3674 Fix broken Terrain::raycast when it falls back to isolevel channel Marc Gilleron 2019-04-28 01:29:52 +0100
  • 0f378fe218 Remove default channel from is_uniform() to prevent mistakes Marc Gilleron 2019-04-28 00:27:17 +0100
  • 227bf5ad36 Added get/set_voxel_f in VoxelMap Marc Gilleron 2019-04-28 00:25:33 +0100
  • 2e419db855 Fix default value for CHANNEL_ISOLEVEL, it should be the integer raw value, not the quantified one Marc Gilleron 2019-04-28 00:23:10 +0100
  • a67ea390d5 Smooth VoxelProviderImage a little in isolevel mode, also properly repeat the heightmap if it's not power of two Marc Gilleron 2019-04-27 02:08:12 +0100
  • 6d872160ab Added get_size() as Vector3 to VoxelBuffer Marc Gilleron 2019-04-27 02:06:09 +0100
  • 10c2e69a0c Default values for CHANNEL_ISOLEVEL should be 1.0 (i.e maximum distance) Marc Gilleron 2019-04-27 02:05:40 +0100
  • c86a5c53e1 Fixed VoxelMap.get_buffer_copy() introducing voxels in channel 0 even if they don't exist Marc Gilleron 2019-04-27 02:03:08 +0100
  • 8c6defee09 Fixed bad VoxelBuffer indexing for non-cubic volumes Marc Gilleron 2019-04-26 03:35:00 +0100
  • b85e696b7b Fixed bad position validation in VoxelBuffer Marc Gilleron 2019-04-26 02:52:32 +0100
  • beace8709b Update DMC mesher to the API required to integrate to VoxelTerrain Marc Gilleron 2019-04-25 01:00:58 +0100
  • 101f83234a Don't logspam if terrain library is not set Marc Gilleron 2019-04-25 00:58:23 +0100
  • 9f0845759f Fix binding of VoxelIsoSurfaceTool::do_heightmap() Marc Gilleron 2019-04-25 00:57:18 +0100
  • 9e13c68da7 Return empty mesh if blocky mesher doesnt find a type channel Marc Gilleron 2019-04-25 00:56:51 +0100
  • fdb40ef3f4 Add quick support for isolevel in VoxelProviderImage Marc Gilleron 2019-04-25 00:54:14 +0100
  • b3dd85bd36 Added VoxelIsoSurfaceTool::do_heightmap(), untested Marc Gilleron 2019-04-24 02:08:45 +0100
  • 1a4c6ec33d Fixed compilation Marc Gilleron 2019-04-24 02:07:06 +0100
  • 1b9e7257df Clang-format did things Marc Gilleron 2019-04-24 01:29:47 +0100
  • 70881ce255 Use Godot Map, std::map doesnt appear to have any advantage Marc Gilleron 2019-04-23 23:38:15 +0100
  • 9c3eb0e4b7 Added OCTREE_NODE mode to disable adaptivity, effectively providing classic marching cubes Marc Gilleron 2019-04-23 23:37:26 +0100
  • 19329efaa6 Initialize stats before each meshing Marc Gilleron 2019-04-23 23:35:43 +0100
  • b627a5736d Expose octree mode, mesh mode and geometric error as properties; initialize stats Marc Gilleron 2019-04-23 01:30:15 +0100
  • a80ddc450b Make OP_ADD the default in VoxelIsoSurfaceTool Marc Gilleron 2019-04-23 01:28:51 +0100
  • cead529f11 Use object pool to speed up octree construction Marc Gilleron 2019-04-23 00:47:52 +0100
  • bfbe382a7d Snake case Marc Gilleron 2019-04-23 00:26:41 +0100
  • 1070acf0be Count re-used vertices Marc Gilleron 2019-04-23 00:14:20 +0100
  • 0e569df945 Re-use dualgrid memory Marc Gilleron 2019-04-22 23:36:42 +0100
  • 3c366b1f09 Add stats Marc Gilleron 2019-04-22 23:03:57 +0100
  • bed8ac8cb9 Drop gradient channels, fix misconception about what gradient is Marc Gilleron 2019-04-22 21:17:19 +0100
  • 572dcbf680 Move this code closer to what uses it Marc Gilleron 2019-04-22 21:15:45 +0100
  • 1defe3bdbd Added VoxelIsoSurfaceTool Marc Gilleron 2019-04-22 20:15:46 +0100
  • 9108bfe0f6 Fix VoxelBuffer channel initialized with wrong value when allocated Marc Gilleron 2019-04-22 20:15:19 +0100
  • 869b921ce8 Add VoxelBuffer::fill_iso() Marc Gilleron 2019-04-22 20:14:25 +0100
  • 0808bf2691 Fix border dual cells not generating due to octree offset, implement alternative bottom-up octree Marc Gilleron 2019-04-22 01:28:53 +0100
  • 91a5c7ffa8 A bit of reorganization and tweaks: Marc Gilleron 2019-04-21 19:31:35 +0100
  • 35ff5fd546 Rename VoxelMesherSmooth => VoxelMesherTransvoxel Marc Gilleron 2019-04-21 14:47:50 +0100
  • d53e43f115 Added function to compute gradients from isolevels Marc Gilleron 2019-04-21 02:54:35 +0100
  • 9bb81f9bb7 Fix dependency in utility.h, move MeshBuilder to its own file, re-use vertex arrays Marc Gilleron 2019-04-21 01:14:28 +0100
  • 35e03f7e77 Fix a few mistakes in dual grid derivation Marc Gilleron 2019-04-20 23:34:22 +0100
  • d52fecaa79 Fix offset between contour and source shape Marc Gilleron 2019-04-20 22:38:09 +0100
  • d74201c93f Added marching cubes polygonization, almost works but sometimes holes appear Marc Gilleron 2019-04-20 21:21:45 +0100
  • a12435266f Fix dual grid debug mesh not making cubes properly; check for emptyness Marc Gilleron 2019-04-20 18:08:00 +0100
  • 1181cfa59f Dual marching cubes WIP (only octree and dual grid extraction, untested) Marc Gilleron 2019-04-20 17:32:10 +0100
  • 6fc70a66c1 Remove reference to dvector.h Marc Gilleron 2019-04-13 18:47:35 +0100
  • ff96ba5528 Make VoxelBlock defined when including VoxelMap Marc Gilleron 2019-01-01 16:44:19 +0000
  • 9e2e59c198 Fix misplaced semicolon Marc Gilleron 2019-01-01 16:43:14 +0000
  • b264b3d319 Add an italian pointy hand where there should have been an italian pointy hand Marc Gilleron 2018-12-14 00:22:03 +0000
  • 6e06d200bf Stop using ADD_PROPERTYNZ Marc Gilleron 2018-12-14 00:21:28 +0000
  • d0ab02a397 Fix UVs, change tables to use OpenGL convention... Marc Gilleron 2018-10-05 23:51:55 +0100
  • b052f7fc2d Added try_set_voxel and fix fill_area in cases where the box is out of range Marc Gilleron 2018-10-04 23:13:03 +0100