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
Marc Gilleron
01b1ee0170
Added first working version of region save format, still WIP
2019-08-14 20:34:06 +01:00
Marc Gilleron
c272a37f1a
Merge branch 'master' into persistence
...
# Conflicts:
# terrain/block_thread_manager.h
# terrain/voxel_terrain.cpp
2019-06-25 20:51:35 +01:00
Cory Petkovsek
f6a9c5761a
Fix gcc sign comparison warnings
2019-06-18 14:24:56 +09:00
Cory Petkovsek
0b854725f0
Fix gcc Wparentheses warnings
2019-06-18 12:13:44 +09:00
Marc Gilleron
6515ac2c94
Fix udiv(), negative values were giving wrong results
2019-06-02 01:46:41 +01:00
Marc Gilleron
82502d3397
Simple file-per-block saving WIP. Compiles but didn't test.
2019-05-28 00:40:09 +01:00
Marc Gilleron
efe58f1af6
Added exclusive area parameter to block processors so they can remove blocks from their queue
2019-05-12 16:33:25 +01:00
Marc Gilleron
017f64ddb9
Optimized VoxelProviderNoise with a noise buffer so it does less OpenSimplex calculations
2019-05-11 17:42:56 +01:00
Marc Gilleron
d93f23337a
Added stats to VoxelLodTerrain
2019-05-05 01:09:12 +01:00
Marc Gilleron
9bab6c04d1
Added VoxelLodTerrain, focused on LOD. No seam management, no editing yet.
2019-05-04 00:02:10 +01:00
Marc Gilleron
c80a24ef0b
Moved is_mesh_empty() to utility.h
2019-04-29 21:32:28 +01:00
Marc Gilleron
7c6d4f3242
Moved ObjectPool to util/ and moved OctreeTables to root
2019-04-29 21:31:08 +01:00
Marc Gilleron
12a97cca5a
Reorganize all files and rename a few things
2019-04-28 17:58:29 +01:00