Marc Gilleron
0fee995c0f
Namespaced godot utility funcs
2022-01-03 23:52:54 +00:00
Marc Gilleron
e20684ce69
Namespaced math funcs
2022-01-03 23:14:18 +00:00
Marc Gilleron
2fdf0bf6df
Namespaced VoxelBlockSerializerInternal
2022-01-03 02:52:06 +00:00
Marc Gilleron
4a94d13565
Re-namespaced vox stuff
2022-01-03 02:35:40 +00:00
Marc Gilleron
404d2cd911
Namespace VoxelRegionFile
2022-01-03 02:17:41 +00:00
Marc Gilleron
e2d3cb2c57
Namespace insert_bytes
2022-01-03 01:58:35 +00:00
Marc Gilleron
0773f9f107
Namespace serialization and compressed data
2022-01-03 01:50:58 +00:00
Marc Gilleron
4d2fe30661
Use Time singleton
2021-12-29 17:06:24 +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
cb1af8c1d9
Fix GCC warning about shadowed local
2021-12-11 23:55:40 +00:00
Marc Gilleron
380e295d94
Merge branch 'master' into full_load_mode
...
# Conflicts:
# meshers/transvoxel/transvoxel.h
# server/voxel_server.cpp
# terrain/voxel_lod_terrain.cpp
2021-12-11 22:59:24 +00:00
Alex
3c47d29c4a
1 more missing header for unique_ptr
2021-11-06 08:10:34 +02:00
Marc Gilleron
ca7ac42cde
Merge branch 'master' into full_load_mode
...
# Conflicts:
# edition/voxel_tool_lod_terrain.cpp
# generators/graph/voxel_generator_graph.cpp
# terrain/voxel_lod_terrain.cpp
2021-10-31 16:17:27 +00:00
Marc Gilleron
6441d1b864
Deprecate Vector3i(Vector3) constructor, make conversions explicit
...
Some conversions were wrong/unintented.
This is also in prevision of using Godot 4 Vector3i,
which default behavior differs from this module.
2021-10-31 16:01:47 +00:00
Marc Gilleron
375c68b0de
Merge branch 'master' into full_load_mode
2021-10-13 20:29:58 +01:00
Marc Gilleron
191659ae7c
Fix voxel mips saved at wrong positions, caused them to show up often in the air
2021-10-04 01:32:12 +01:00
Marc Gilleron
bb7311b282
Merge branch 'master' into full_load_mode
2021-10-03 02:48:46 +01:00
Marc Gilleron
e04091f3cb
Added full load mode to VoxelLodTerrain
...
With this mode enabled, editing anywhere becomes possible.
All edited blocks are loaded at once when the stream is assigned.
The generator is used on the fly to fill the gaps, instead of being
pre-emptively cached only nearby the viewer to allow editing.
Editing is still on the main thread, so this can cause stalls if
the generator is complex. There is also no controlled limit on how
much data gets loaded, so if edited data is larger than RAM, it will
not be playable. The feature is already quite usable, but more work
may be done for wider viability.
2021-10-03 01:48:07 +01:00
Marc Gilleron
33b66153dc
Use span instead of requiring a vector
2021-10-03 01:32:01 +01:00
Marc Gilleron
00c228851d
Fix signedness
2021-09-26 16:36:08 +01:00
Marc Gilleron
fb2dc3bc0f
Fix unnecessary macro argument
2021-09-26 15:49:12 +01:00
Marc Gilleron
30db0c5193
Split VoxelBuffer in two, script-facing wrapper and internal.
...
The internal is the main use within the voxel engine,
and does not inherit Reference.
2021-09-26 04:14:50 +01:00
Scott Wadden
511422c30d
Fixed macos build errors
2021-09-22 09:48:35 -03:00
Marc Gilleron
f0c59acf0b
Fix VoxelStreamBlockFiles always showing a warning about channels
2021-09-18 01:44:33 +01:00
Marc Gilleron
026c14fcb5
Added importer to import vox files into a single mesh
...
- New importer, needs restart to switch but it's a limitation of Godot
- Might blow up if the scene spans a really big area, may be optimized in the future.
- The scene importer remains the default choice
- Promoted some ints to 64-bit to avoid oveflowing with large volumes or distances
- Handle a few cases of malloc failure
2021-08-14 16:49:46 +01:00
Marc Gilleron
36890408df
Profiling scopes
2021-08-07 23:05:42 +01:00
Marc Gilleron
967dcbd04c
Don't save meta file on loading, not sure why that was done before
2021-08-01 15:42:24 +01:00
Marc Gilleron
6ea6ce9581
Initialize to the same defaults as in VoxelBuffer
2021-08-01 15:41:23 +01:00
Marc Gilleron
47b71b7431
Unused struct
2021-08-01 15:40:51 +01:00
Marc Gilleron
6d6d8fb368
Fix material ID, can be 0 or 256 (whatever that's supposed to mean, while the palette can only have 256 colors)
2021-08-01 15:40:22 +01:00
Marc Gilleron
6b3991c695
Fix warning
2021-07-31 21:24:54 +01:00
Marc Gilleron
3979cbd0b9
Fix vox rotation conversion
2021-07-31 21:22:49 +01:00
Marc Gilleron
9a74362aca
Added vox scene importer. No options at the moments.
2021-07-31 18:48:47 +01:00
Marc Gilleron
059f490669
Renamed udiv => floordiv
2021-07-31 15:15:43 +01:00
Marc Gilleron
2c3b7fae5a
Error more explicitely in case trying to serialize an empty block
2021-07-25 20:38:15 +01:00
Marc Gilleron
466bc41ab8
Comments
2021-07-25 20:37:47 +01:00
Marc Gilleron
149eb2a873
Added test for instance data serialization
2021-07-18 19:42:42 +01:00
Marc Gilleron
da8dc36590
Return all channels supported with region files and SQLite
...
This fixes a node configuration warning,
because before these were always returning no channels at all.
2021-06-14 18:51:19 +01:00
Marc Gilleron
84e00ccbaf
Another size_t conversion
2021-06-13 17:15:11 +01:00
Marc Gilleron
6374c9831c
Convert size_t to comply with Variant conversion problem on some compilers
2021-06-13 17:03:45 +01:00
Marc Gilleron
73af17e65f
Avoid using size_t to comply with Variant conversion ambiguity that occurs on some compilers
2021-06-12 17:13:46 +01:00
Marc Gilleron
1ee5bcb80d
Renamed Rect3i -> Box3i
2021-05-31 17:12:04 +01:00
Marc Gilleron
411be94559
Renamed ArraySlice -> Span
2021-05-31 16:48:49 +01:00
Marc Gilleron
310386bde8
Merge branch 'master' into block_size_decoupling
2021-04-11 01:09:51 +01:00
Marc Gilleron
313e592dcb
Notes about big-endian
2021-04-10 17:38:07 +01:00
Marc Gilleron
758e3bd227
Allow to use block size 32 for mesh blocks while using 16 for data blocks
...
Still hardcoded but a config should be added
2021-04-03 20:39:37 +01:00
Marc Gilleron
ba5c0bcb17
Use common default
2021-03-12 23:38:37 +00:00
Marc Gilleron
76ec90fe34
Moved constants and tables under a folder
2021-02-21 23:58:00 +00:00
Marc Gilleron
f1e2ea9ad4
Update to latest Godot's threading primitives
2021-02-19 01:30:22 +00:00
Marc Gilleron
d1207bdd96
Reorganized some utility files
2021-02-17 20:34:35 +00:00