113 Commits

Author SHA1 Message Date
Marc Gilleron
0922b92ace Fix some GCC warnings and Clang error 2020-09-07 23:26:04 +01:00
Marc Gilleron
fb8a1210e3 Comment and formatting 2020-09-06 19:59:08 +01:00
Marc Gilleron
d81ffb95f4 Detect usage of Tracy, add some profiler scopes 2020-08-30 04:00:01 +01:00
Marc Gilleron
107f29c5d3 Removed old profiler 2020-08-29 23:20:51 +01:00
Marc Gilleron
ac3e303818 Report script errors a bit better, I hope 2020-08-02 18:57:08 +01:00
Marc Gilleron
c47d0905a9 Fix missing file 2020-07-11 02:52:22 +01:00
Marc Gilleron
b8c235fce3 Added preview nodes (has a few limitations, may fix them later) 2020-07-07 23:28:02 +01:00
Marc Gilleron
33d38e61b1 Merge branch 'master' into voxel_gen_graph 2020-05-08 18:09:09 +01:00
Thor Correia
3e79f5e7e7 added raycast case for integer positions 2020-04-24 13:30:44 -07:00
Marc Gilleron
f73e566535 Added smoothstep 2020-04-05 19:53:07 +01:00
Marc Gilleron
9ce0ded22e Added a bunch of operation types, untested 2020-03-20 00:21:09 +00:00
Marc Gilleron
dbca01de59 Implemented more accurate noise range detection, moved range utils to their own file 2020-02-24 19:32:18 +00:00
Marc Gilleron
3a579dfb3e Merge branch 'master' into voxel_gen_graph 2020-02-23 01:57:14 +00:00
Marc Gilleron
9f7a081dd4 Non-cube voxels don't contribute to AO for now 2020-02-23 01:29:32 +00:00
Marc Gilleron
f5001fdc07 Merge branch 'master' into custom_blocky_mesh
# Conflicts:
#	util/array_slice.h
2020-02-22 22:55:50 +00:00
Marc Gilleron
927f7c4e3f Moved interval.h to the math/ folder 2020-02-22 22:52:19 +00:00
Marc Gilleron
60fb709c1c Added range analyzis to automatically find when a block will be uniform 2020-02-22 22:11:07 +00:00
Marc Gilleron
258b211560 Fix box bounds going off charts 2020-02-21 20:27:18 +00:00
Marc Gilleron
197c6c71bc Use a pattern matrix to determine side culling, so it can be baked more precisely 2020-02-11 21:20:05 +00:00
Tin Švagelj
e67ec6f207
Added missing semicolons on line endings 2020-02-07 04:52:06 +01:00
Marc Gilleron
aec06b214b Merge branch 'master' into depth 2020-01-26 23:34:08 +00:00
Marc Gilleron
87a9766442 voxel_raycast is now template 2020-01-26 20:43:40 +00:00
Marc Gilleron
4626b4d7a3 Added iso_scale parameter to heightmap generators, which eliminates terracing. As a result, sdf_mode is now useless and was removed. 2020-01-26 20:08:25 +00:00
Marc Gilleron
4b52d8fd18 get_channel_raw returns an ArraySlice instead of a pointer 2020-01-25 23:26:55 +00:00
Marc Gilleron
7723988b15 Merge branch 'master' into depth
# Conflicts:
#	meshers/transvoxel/voxel_mesher_transvoxel.cpp
2020-01-25 19:46:53 +00:00
Marc Gilleron
2c4c4f3288 Fix stupid bugs 2020-01-21 21:17:15 +00:00
Marc Gilleron
6a417bf657 Abstracted some of the heightmap SDF algorithm, WIP 2020-01-21 19:51:05 +00:00
Marc Gilleron
e76e4d2b49 Fix bad discarding code when block management threads are told to exit
In short, std::remove_if does NOT remove anything
2020-01-19 18:13:00 +00:00
Marc Gilleron
2fe83ce154 Fix wrong return values 2020-01-19 01:22:48 +00:00
Marc Gilleron
09acd82c72 Merge branch 'master' into depth 2020-01-18 19:29:57 +00:00
Marc Gilleron
c493aec343 Use StringNames when applicable 2020-01-17 20:43:28 +00:00
Marc Gilleron
0b4860b40d Use MAX_LOD global constant 2020-01-15 21:40:35 +00:00
Marc Gilleron
2d1a53048c Merge branch 'master' into depth
# Conflicts:
#	streams/voxel_block_serializer.cpp
2020-01-10 01:43:38 +00:00
Marc Gilleron
9dc09618be ZProfiler is now usable from anywhere including threads 2020-01-07 20:32:36 +00:00
Marc Gilleron
a06de157bf Tweaked calculation to better ensure no null normals will be produced 2020-01-06 21:48:07 +00:00
Marc Gilleron
a8f8a03439 Added customizable bit depth to VoxelBuffer. UNTESTED 2020-01-04 19:20:49 +00:00
Marc Gilleron
68e35744b2 Rewrite profiler dump to not use Godot API, also allow to use a singleton 2020-01-02 20:24:20 +00:00
Marc Gilleron
ee8a70bc75 Attempt to tweak normals calculation to avoid some cases of null normals 2019-12-31 20:00:39 +00:00
Marc Gilleron
44f84a9422 Template max() so places using int don't have to go through float 2019-12-31 16:37:40 +00:00
Marc Gilleron
a9952179a7 Transition meshes WIP and bug fixes
- Allow meshers to specify compression flags
- Use uncompressed COLOR to fit extra vertex data for transition meshes
- Simplify a few interpolations
- Fix a few buffer overruns which were not detected by the debugger
- Use array wrappers to better detect overrun mistakes
2019-12-26 20:29:55 +00:00
Marc Gilleron
6977133006 Forked Transvoxel mesher into an MC one with overlap seam mode.
It's mostly because the transvoxel mesher is going to change,
and the MC mesher will only act as a simplified legacy mesher.
It has experimental support for overlap seams, but it didn't work
well due to Z-buffer precision being too weak.
2019-12-23 21:41:30 +00:00
Marc Gilleron
eb01f99c2c First WIP at paging LOD 2019-08-29 22:55:02 +01:00
Marc Gilleron
d4ed6372b7 Optimize collision shapes, doubles build speed 2019-08-25 22:59:55 +01:00
Marc Gilleron
4ff5f91e6f Add optional physics collision through node-less static bodies 2019-08-25 13:04:49 +01:00
Marc Gilleron
332041751d Move mesh instance into a thin wrapper 2019-08-25 01:11:38 +01:00
Marc Gilleron
f0c841ff11 Expose region file settings conversion, tested case of equal block size 2019-08-20 20:50:09 +01:00
Marc Gilleron
dc73977a1a Changed profiler to be more like a stack-based one, also made it super light (CPU-wise) 2019-08-18 23:13:12 +01:00
Marc Gilleron
fbeaae6bac Moved some coordinate conversions to Vector3i 2019-08-17 19:34:40 +01:00
Marc Gilleron
43446356e9 Switch block processing to use arrays instead of single blocks to allow batching 2019-08-16 20:56:07 +01:00
Marc Gilleron
9ba730391c Fixed umod, caused region saves to miss blocks at axis boundaries 2019-08-14 23:25:05 +01:00