1993 Commits

Author SHA1 Message Date
Marc Gilleron
d9b74359f8 Provide a default material for VoxelMesherTransvoxel with variable-lod 2022-06-26 17:21:05 +01:00
Marc Gilleron
5a05854fde Update include guards 2022-06-26 17:20:21 +01:00
Marc Gilleron
eaa40876b8 Don't generate transition meshes when VoxelMesherTransvoxel is used in a fixed-lod volume 2022-06-26 17:20:08 +01:00
Marc Gilleron
ff082c5f2b Undo deferred transition mesh tasks, superseded by combined transitions 2022-06-25 20:44:41 +01:00
Marc Gilleron
647be47395 Fix secondary positions in positive axes 2022-06-25 17:28:00 +01:00
Marc Gilleron
ce91b3890c Combine regular and transition meshes together.
- Less draw calls
- Much faster rendering updates (about 5x),
  although colliders are still the biggest bottleneck so when collision is
  enabled this improvement isn't noticeable
- A shader is now always required to render Transvoxel properly.
  TODO: integrate a default one when no material is assigned?
2022-06-25 16:47:09 +01:00
Marc Gilleron
13a9bf7deb Prefix tls 2022-06-23 19:39:53 +01:00
Marc Gilleron
c7d8c2557c Attempting to give priority to main mesh building over transition meshes.
This effectively creates them after ALL main meshes have been built,
resulting in a seemingly faster convergence of LOD, however when moving
around it causes some cracks to appear briefly. This can be bad if the
terrain is dark and the underlying skybox is bright. Might need to be
optional, or find a different approach.
2022-06-22 22:05:25 +01:00
Marc Gilleron
76de7a439b Added a low-priority queue to TimeSpreadTaskRunner 2022-06-22 22:01:10 +01:00
Marc Gilleron
c51f3d8005 Merge branch 'modifiers' 2022-06-20 19:53:23 +01:00
Marc Gilleron
a2c2f49da6 Note about earlyness 2022-06-20 19:53:01 +01:00
Marc Gilleron
65e31f181b Comment about optimization 2022-06-20 19:50:03 +01:00
Marc Gilleron
317cd23616 Fix per-surface collision generation in VoxelMesherBlocky 2022-06-19 22:57:55 +01:00
Marc Gilleron
19f94e9912 Merge branch 'master' into modifiers 2022-06-19 21:41:38 +01:00
Marc Gilleron
bea011c323 Profile buffer modifier 2022-06-19 21:41:32 +01:00
Marc Gilleron
fdd8ff3889 Fix data block loading when no stream is assigned 2022-06-19 20:23:40 +01:00
Marc Gilleron
c1f3997e54 Missing format 2022-06-19 18:10:59 +01:00
Marc Gilleron
14ab3677e6 Merge branch 'master' of https://github.com/Zylann/godot_voxel 2022-06-19 17:58:04 +01:00
Marc Gilleron
a01fffd906 Fix mesh collision should be exposed as a boolean 2022-06-19 17:56:42 +01:00
Marc Gilleron
f6d008fc3e Added a way to query the current thread ID (may be useful later) 2022-06-18 23:29:00 +01:00
Marc Gilleron
1464286660 Add experimental key caching in VoxelStreamSQlite.
Not enabled by default, will test this in the future because it might
optimize multithreaded query speed in worlds with sparse saves.
2022-06-18 23:28:30 +01:00
Marc Gilleron
90aa763a78 Notes about scaling the terrain 2022-06-18 23:25:27 +01:00
Marc Gilleron
6a61ef712b Move light setup in common 2022-06-18 23:25:07 +01:00
Marc Gilleron
86ba74ce3a Some changes and fixes related modifiers
- VoxelLodTerrain no longer caches generated voxels by default, so
  generating on the fly is no longer exclusive to full load mode.
  Might add an option later, but not for now (VoxelTerrain is still
  unaffected and keeps caching them)
- The "Cached" state is represented with blocks having no voxel data,
  so it needs extra checks in some areas to avoid null access
- Fix generate task was not including modifiers after the base generator
- The "save_generator_output" option on streams now means such blocks are
  considered edited
- Modifying modifiers now clears cached generated blocks
  intersecting with them.
- Fix "re-generate" was erasing the internal stack of modifiers
- Added docs
2022-06-18 23:14:18 +01:00
Marc Gilleron
714525724f Fix edited flag setter 2022-06-18 19:40:11 +01:00
Marc
897968ccfd
Merge pull request #401 from aaronfranke/tmp-gitignore
Add `*.tmp` to the .gitignore
2022-06-13 19:07:15 +01:00
Aaron Franke
2e6729797b
Add *.tmp to the .gitignore 2022-06-12 21:43:39 -05:00
Marc
a0f54f6b36
Merge pull request #398 from poikilos/master-fix-regression-test-url
Use the new project name and avoid a URL redirect.
2022-06-13 02:00:44 +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
f5a77a8f2b Default to default 16-bit quantization scale 2022-06-09 20:17:28 +01:00
Marc Gilleron
1e1b6904f3 Small scope change 2022-06-09 20:11:50 +01:00
Marc Gilleron
a9917668c4 Fix reorder warning 2022-06-09 00:17:44 +01:00
Marc Gilleron
9970e08259 Merge branch 'master' of https://github.com/Zylann/godot_voxel 2022-06-08 21:45:45 +01:00
Marc Gilleron
87e00880ab Fix non-initialized variable 2022-06-08 21:36:37 +01:00
Marc Gilleron
026a58a933 Added ref 2022-06-08 21:35:31 +01:00
Marc Gilleron
23949c81b5 Fix useless assignment 2022-06-08 21:35:19 +01:00
Marc Gilleron
a891e3371f Fix warning about comparing enums of different types (I hope) 2022-06-08 20:43:43 +01:00
Marc Gilleron
58185147e3 Fix unused variables 2022-06-08 20:29:18 +01:00
Marc Gilleron
34b17ad162 Default to not showing mesh updates 2022-06-06 21:54:40 +01:00
Marc Gilleron
177d7a99c9 Added basic stack tracking for memory pool allocations 2022-06-06 21:54:20 +01:00
Marc Gilleron
2098ca36d9 Added debug gizmos to see mesh updates 2022-06-05 23:26:17 +01:00
Marc Gilleron
8e3f1bd74d Fix wrong SDF data generated below ground 2022-06-05 22:47:20 +01:00
Marc Gilleron
aced77fa39 Update supporters 2022-06-04 23:11:38 +01:00
Marc Gilleron
82ae631894 Store pointer to block in map to remove one indirection 2022-06-04 22:59:28 +01:00
Marc Gilleron
3b152842aa Macro replacements 2022-06-04 22:54:56 +01:00
poikilos
b7a19205c1 Test the master branch using the 4.0 branch of the regression test project (also, master is not a branch at that project). 2022-06-04 16:55:50 -04:00
Marc
166846bde8
Merge pull request #400 from aaronfranke/rwlock
Add RWLock include to VoxelMeshLibrary header
2022-06-04 20:56:03 +01:00
Aaron Franke
3c37bb95a5
Add RWLock include to VoxelMeshLibrary header 2022-06-04 14:41:59 -05:00
Marc Gilleron
5c716e360d Macros replacement 2022-06-04 03:36:42 +01:00
Marc Gilleron
abdcb4c7d5 Storing position on VoxelDataBlock isn't necessary 2022-06-04 02:44:00 +01:00