Commit Graph

43 Commits (88d170adff2c9e5e057b34aa0be7fdae08aab0db)

Author SHA1 Message Date
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