Marc Gilleron
983b7bd83d
Merge branch 'master' into smooth_texturing
...
# Conflicts:
# util/godot/funcs.h
2021-05-22 19:43:39 +01:00
Marc Gilleron
0dc6702308
VoxelToolTerrain.raycast now accounts for scale and rotation, and supports VoxelMesherCubes with non-zero values
2021-05-16 04:29:08 +01:00
Marc Gilleron
aa3f2c97df
Fix crash when surfaces are empty (happens if one assigns blocky meshers on LOD terrain because it doesn't do the same checks up-front)
2021-05-15 23:38:35 +01:00
Marc Gilleron
fa48523073
Added collision layer and mask properties
2021-05-09 20:49:45 +01:00
Marc Gilleron
ed1de5b5f4
Comment
2021-05-07 22:29:20 +01:00
Marc Gilleron
d5bd6c794b
Merge branch 'master' into smooth_texturing
2021-05-07 21:48:11 +01:00
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
4e67a1530d
Code to debug vertex sharing issues
2021-05-03 00:13:36 +01:00
Marc Gilleron
264b77ac21
Moved hardcoded output types outside the runtime.
...
For simplicity I chose to just give output nodes output ports,
like regular ones, and hide them in the editor.
It required to change a bit how output nodes are detected,
and backing output buffers are no longer required from callers.
This will allow to more easily implement custom outputs as well.
2021-05-02 01:22:44 +01:00
Marc Gilleron
0e2d7dc596
Comments and format
2021-04-25 20:23:52 +01:00
Marc Gilleron
42240fa018
Fix issues with is_uniform
...
- Items that cannot pack a bucket will use classic per-item comparison
- Fix wrong operator in bucket comparison
2021-04-25 16:21:15 +01:00
Marc Gilleron
b33a432b3d
Optimized is_uniform
for the case a buffer has not been compressed yet
2021-04-24 21:23:40 +01:00
Marc Gilleron
dc2f853b50
First version of texturing for Transvoxel. Needs optimization and tooling.
2021-04-21 18:26:40 +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