Commit Graph

126 Commits (ec24204ecceee814050ca22b1d5f8ac5225d21f0)

Author SHA1 Message Date
Marc Gilleron dac0af3a04 Build mesh resource on the task thread now the Vulkan renderer supports it 2022-07-02 23:01:49 +01:00
Marc Gilleron d9b74359f8 Provide a default material for VoxelMesherTransvoxel with variable-lod 2022-06-26 17:21:05 +01:00
Marc Gilleron 0e12e6dbf1 Initial WIP for SDF non-destructive voxel modifiers. Support is incomplete.
Some voxel queries and operations will not take modifiers into account.
It needs to be worked on, might involve some refactoring.
2022-06-09 20:35:29 +01:00
Marc Gilleron 177d7a99c9 Added basic stack tracking for memory pool allocations 2022-06-06 21:54:20 +01:00
Marc Gilleron 6c47c177ab Moved Godot config access to module initialization 2022-05-23 00:13:37 +01:00
Marc Gilleron 35e4b5cd17 Update to new module registration 2022-05-07 22:06:32 +01:00
Marc Gilleron f993796ca1 Added inspector plugin to edit VoxelMeshSDF 2022-05-05 20:57:59 +01:00
Marc Gilleron 868ae90fbe Added VoxelMeshSDF and VoxelToolLodTerrain.stamp_sdf() 2022-05-02 19:14:12 +01:00
Marc Gilleron d7e0af161a Abstracted voxel metadata so internals no longer depends on Variant 2022-04-18 19:59:38 +01:00
Marc Gilleron 87d98e9162 Engine-agnostic error macros 2022-04-11 02:10:44 +01:00
Marc Gilleron 259a914cbf Return a ref instead of pointer, it must not be null 2022-04-09 15:05:04 +01:00
Marc Gilleron ab5d3a22d3 Abstract logging for verbose print 2022-04-09 15:00:34 +01:00
Marc Gilleron f58199e7de Added class to schedule custom tasks from scripts 2022-04-07 22:34:07 +01:00
Marc Gilleron 5519054c01 Unify macro prefixes 2022-04-06 23:26:54 +01:00
Marc Gilleron e0008d3335 Fix compilation now Godot comes with its own FastNoiseLite.
The version shipped with the module is now prefixed.
Removed usages of OpenSimplexNoise.
2022-04-03 20:07:17 +01:00
Marc Gilleron 8d8d8b336d Moved VoxelLodTerrain and VoxelTerrain stuff to their own folders 2022-03-20 22:57:53 +00:00
Marc Gilleron c9edc64ae0 Fix compilation with newest Godot 2022-03-14 00:26:25 +00:00
Marc Gilleron 493b93a051 SDF is now encoded with inorm8 and inorm16 2022-02-26 22:51:29 +00:00
Marc Gilleron 0137ca3036 Namespaced VoxelBuffer in `gd::` because it is actually a wrapper 2022-02-15 21:49:20 +00:00
Marc Gilleron 4c36b96ef2 Moved Godot-facing block serializer API to its own file 2022-02-12 23:52:44 +00:00
Marc Gilleron d1250ef0ad Added support functions to help setting up basic multiplayer with `VoxelTerrain`.
These might change in the future. Will have to test that later,
when Godot 4 gets more stable.
2022-01-31 21:23:39 +00:00
Marc Gilleron 9454759b02 Renamed VoxelInstanceLibraryItem => VoxelInstanceLibraryMultiMeshItem 2022-01-10 22:56:32 +00:00
Marc Gilleron f8b8b27ff2 Renamed Voxel => VoxelBlockyModel, VoxelLibrary => VoxelBlockyLibrary 2022-01-09 23:27:38 +00:00
Marc Gilleron b67ca3d903 Namespaced every registered class 2022-01-09 22:16:44 +00:00
Marc Gilleron 774adfca3c VoxelServer no longer inherits Object.
The Godot-facing singleton is now a different class in gd:: namespace.
Moved the updater to its own file.
2022-01-09 04:53:33 +00:00
Marc Gilleron 14840634de Re-namespaced VoxelDebug 2022-01-04 22:57:21 +00:00
Marc Gilleron 5ece3b840e Namespace VoxelMemoryPool 2022-01-03 23:20:38 +00:00
Marc Gilleron e68f59643b Namespaced VoxelGraphNodeDB 2022-01-03 03:55:44 +00:00
Marc Gilleron 56b4920902 Updated and integrated FastNoise2 2021-12-31 05:06:00 +00:00
Marc Gilleron 3db4798e14 Draw instance chunks in editor 2021-12-30 22:20:30 +00:00
Marc Gilleron 892de996dd Print size of Node3D for reference 2021-12-28 19:44:04 +00:00
Marc Gilleron e46b1a023d Added test for VoxelBlockSerializerInternal and RegionFile; added namespaces 2021-12-17 19:30:23 +00:00
Marc Gilleron 922f361cb0 Made it compile in Godot 4
- Made a bunch of changes to comply with Godot 4 API
- Use Godot's Vector3i and add the missing stuff with helper functions
- Transvoxel uses custom attributes API, the old way would not work
- Wrap MeshOptimizer in a unique namespace (see build script why)
- Added clang-format file for the module as some rules now differ
- Prevent thirdparty code and lookup tables from being clang-formatted
- Very likely full of runtime bugs that need fixing
2021-12-13 21:38:10 +00:00
Marc Gilleron 4fc6731b8d Prevent instancing VoxelTool classes manually 2021-10-26 20:17:40 +01:00
Marc Gilleron 9a74362aca Added vox scene importer. No options at the moments. 2021-07-31 18:48:47 +01:00
Marc Gilleron 27d54a0d5c Add initial support for instancing scenes with VoxelInstancer 2021-07-25 20:37:30 +01:00
Marc Gilleron 89d854f328 VoxelGeneratorHeightmap should not be instanciable 2021-06-16 23:34:47 +01:00
Marc Gilleron f72687ac9a More sizeof stuff 2021-05-22 19:38:50 +01:00
Marc Gilleron 96bcc44d00 Removed VoxelMap and VoxelBlock, superseded by their specialized versions 2021-04-15 20:25:55 +01:00
Marc Gilleron 9bcc3580d6 Added first C++ test 2021-04-03 20:40:35 +01:00
Marc Gilleron 76ec90fe34 Moved constants and tables under a folder 2021-02-21 23:58:00 +00:00
Marc Gilleron b51897b8df Added voxel raycast to VoxelToolLodTerrain
- Made more precise with an option to use binary search (unoptimized)
- Distance along ray is now available in blocky terrains as well
2021-02-21 03:08:47 +00:00
Marc Gilleron 00fe474d46 Attempted again to integrate FastNoise2, but C++17 is really needed. 2021-02-21 03:02:32 +00:00
Marc Gilleron 4d033a2bb4 Added collision update delay to accelerate edit spam a little.
Not easy to use yet, might need the user to use voxel raycast instead of
physics because the hit points will not update often as they sculpt
2021-02-18 19:50:47 +00:00
Marc Gilleron 094bbc1fe1 Refactored API to allow editor inspection and preview 2021-02-14 21:55:31 +00:00
Marc Gilleron 6856f4b491 Moved instancing stuff under a folder 2021-02-07 21:40:55 +00:00
Marc Gilleron 4daf6718f8 Moved instance generation to its own class 2021-02-07 21:30:07 +00:00
Marc Gilleron 22471aafd0 Merge branch 'master' into instancing 2021-02-02 00:00:01 +00:00
Marc Gilleron b66b9a01a9 Removed VoxelStreamFile 2021-02-01 22:25:25 +00:00
Marc Gilleron 4353939eb4 Move region stuff to a folder 2021-01-31 16:51:42 +00:00