113 Commits

Author SHA1 Message Date
Marc Gilleron
d53e7dd530 Fixed several bugs related to VoxelTool::paste()
- One of the Rect3i constructors was wrong
- Rewrite clipping logic of VoxelBuffer::copy_from
- Fix VoxelDataMap::paste to provide correct offsets
- Fix meshing data copy to account for clipping adjustments
2021-05-07 18:38:02 +01:00
Marc Gilleron
10683ccd15 Comments 2021-04-15 20:35:31 +01:00
Marc Gilleron
310386bde8 Merge branch 'master' into block_size_decoupling 2021-04-11 01:09:51 +01:00
Marc Gilleron
26e42e3707 Sanity checks to prevent shifting by negative values 2021-04-10 17:46:15 +01:00
Marc Gilleron
313e592dcb Notes about big-endian 2021-04-10 17:38:07 +01:00
Marc Gilleron
2c6eb114b2 Fix order of SDF arguments 2021-04-07 00:05:38 +01:00
Marc Gilleron
9a131ed4ff Merge branch 'master' into block_size_decoupling
# Conflicts:
#	server/voxel_server.cpp
2021-04-06 22:00:55 +01:00
jacobcoughenour
c0721a7404 Added shadow mode setting to VoxelInstanceLibraryItems 2021-04-05 00:24:46 -04: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
5766bc8b94 Merge branch 'master' into lod_fade_v2
# Conflicts:
#	README.md
#	editor/about_window.cpp
2021-03-27 01:48:36 +00:00
Marc Gilleron
9188ae619b Optimized several range analysis functions
- square, cube and polynomials are more precise
- lerp() is more precise
- smooth union and subtract are more precise
- fallback on simple min/max if smoothness is zero
2021-03-17 18:11:00 +00:00
Marc Gilleron
862e036317 More precise range analysis for FastNoiseLite 2021-03-14 18:47:23 +00:00
Marc Gilleron
43588cae17 Fix snapped implementation, it was not snapping size correctly 2021-03-12 23:33:29 +00:00
lhinuz
3430c3cf9f
Update file_locker.h
Missing file pointer convert.
2021-03-12 08:34:57 +08:00
Marc Gilleron
09c815e253 Implemented copy and paste for VoxelToolTerrain (untested) 2021-02-21 18:23:56 +00:00
Marc Gilleron
71384e25bc Moved sdf functions to their own file 2021-02-21 18:18:01 +00:00
Marc Gilleron
b51897b8df Added voxel raycast to VoxelToolLodTerrain
- Made more precise with an option to use binary search (unoptimized)
- Distance along ray is now available in blocky terrains as well
2021-02-21 03:08:47 +00:00
Marc Gilleron
f1e2ea9ad4 Update to latest Godot's threading primitives 2021-02-19 01:30:22 +00:00
Marc Gilleron
f8d5989998 Fix wrong boundary check 2021-02-18 21:17:22 +00:00
Marc Gilleron
d1207bdd96 Reorganized some utility files 2021-02-17 20:34:35 +00:00
Marc Gilleron
1c4542c8cf Fix warning 2021-02-16 22:47:13 +00:00
Marc Gilleron
5bef3b6cc6 Added scale distribution and noise 2021-02-16 01:14:04 +00:00
Marc Gilleron
094bbc1fe1 Refactored API to allow editor inspection and preview 2021-02-14 21:55:31 +00:00
Marc Gilleron
4639b8de3d Give names to threads so they show up in debugging tools 2021-02-09 00:52:26 +00:00
Marc Gilleron
b65b0b8045 Implemented saving and loading of modified instances in SQLite 2021-02-07 17:22:50 +00:00
Marc Gilleron
22471aafd0 Merge branch 'master' into instancing 2021-02-02 00:00:01 +00:00
Marc Gilleron
84181a9560 Implement buffer processing on sphere map functions 2021-02-01 23:40:17 +00:00
Marc Gilleron
a0e7a3229c Added compression header to make it reusable for other formats and more future proof 2021-01-31 15:47:36 +00:00
Marc Gilleron
0816d1fc09 Merge branch 'master' into instancing 2021-01-23 01:33:11 +00:00
Marc Gilleron
082cdf3e16 Allow ArraySlices to be empty 2021-01-16 13:37:41 +00:00
Marc Gilleron
89750a20f8 Made file streams thread-safe (but still won't be used in more than one thread)
- Added a global file locker so threads can synchronize when accessing files
- Added mutexes to serialize access to file streams (i.e to call in series)
- VoxelStream API now expects implementations to be thread-safe
- Did some logic/data separation in RegionFile in case we need an
  in-memory implementation, however I might just use SQLite in the
  future instead
2021-01-16 13:34:45 +00:00
Marc Gilleron
348618d605 Fix wrong variable name 2021-01-09 19:33:48 +00:00
Marc Gilleron
973cf729cd Added FastNoise2 for SIMD noise, but it won't be integrated yet.
It requires C++17, while Godot uses C++14. I was unable to override it,
and I'm not sure how compatible this will be with the runtime.
At least this would be doable in Godot 4.
2021-01-09 16:35:40 +00:00
Marc Gilleron
1e95374ccb The graph runtime now suports arbitrary position buffers, instead of an XZ rectangle 2021-01-08 21:04:49 +00:00
Marc Gilleron
e00ed9b538 Move all node logic to function pointers, each combined into one place 2021-01-07 22:19:06 +00:00
Marc Gilleron
3364748fef Integrate FastNoiseLite to voxel graph generator 2021-01-03 20:23:45 +00:00
Marc Gilleron
ff0b9271cf Make FastNoiseLite access constant 2021-01-03 17:43:18 +00:00
Marc Gilleron
c8dcbc55e3 Added FastNoiseLite 2021-01-02 00:59:12 +00:00
Marc Gilleron
37a202a00b Added material_override 2021-01-01 01:39:06 +00:00
Marc Gilleron
a34710f74c Added VoxelInstancer. First working API, script only. 2020-12-29 22:25:22 +00:00
Marc Gilleron
a12144304f Optimized Transvoxel (nearly twice as fast), also allowing 16, 32 and 64 bit precision 2020-12-23 02:27:54 +00:00
Marc Gilleron
87e575e504 Use reinterpret_cast instead of ambiguous C-style cast 2020-12-18 20:46:54 +00:00
Marc Gilleron
e18b3a55fd Don't make the editor redraw every frame when gizmos are shown 2020-11-21 18:15:12 +00:00
Marc Gilleron
10d6e5bd8a Script-based generators and streams have their own class, should fix C# API 2020-10-31 22:11:25 +00:00
Marc Gilleron
40d299413f Don't compute matrices if they aren't used when transforming blocks 2020-10-29 00:54:27 +00:00
Marc Gilleron
1200b012bb Some notes about tracy 2020-10-29 00:47:25 +00:00
Marc Gilleron
d158a92f57 Show bounds and octrees of VoxelLodTerrain with debug drawing 2020-10-24 00:08:14 +01:00
Marc Gilleron
4e65c8d937 Added bounds support to VoxelLodTerrain (rounded to octree size) 2020-10-22 22:43:31 +01:00
Marc Gilleron
68bb9d74df Removed unused class 2020-09-12 21:08:55 +01:00
Marc Gilleron
9ccf16419d Merge branch 'master' into threading_refactor
# Conflicts:
#	streams/voxel_block_serializer.cpp
#	voxel_buffer.h
2020-09-08 21:40:59 +01:00