Commit Graph

99 Commits (0bf72badbd3f129e6472c81f0ec5a4c0f5f19835)

Author SHA1 Message Date
Marc Gilleron 411be94559 Renamed ArraySlice -> Span 2021-05-31 16:48:49 +01:00
Marc Gilleron 2e9d817246 Moved VoxelDataMap to storage/ folder 2021-05-31 16:27:08 +01:00
Marc Gilleron efb6a26b5e Fix GCC warnings (2) 2021-05-31 01:05:19 +01:00
Marc Gilleron 32e47a50e9 Fix GCC warnings 2021-05-31 00:34:53 +01:00
Marc Gilleron 8975a93c9b Fixed bad buffer adresses when multiple outputs are used
This was mainly apparent when optimization was enabled.
It caused outputs to be left uninitialized and either work by chance
or provide the wrong values.
2021-05-31 00:05:42 +01:00
Marc Gilleron 74e89b882e Implemented texture painting on all VoxelTools using faster access to voxels 2021-05-29 23:28:11 +01:00
Marc Gilleron c0955bb317 Use storage func, remove redundant one 2021-05-29 23:24:36 +01:00
Marc Gilleron a4f01b096e Moved some storage functions out of VoxelBuffer 2021-05-29 23:23:18 +01:00
Marc Gilleron 4cc47b9036 Extracted some functions from VoxelBuffer, optimized copy/paste a little 2021-05-24 23:23:50 +01:00
Marc Gilleron f943339f31 Researching tri-channel weights storage
- No changes made for now, but the code is there if we want to switch
- Renamed functions to be more explicit
2021-05-23 20:28:06 +01:00
Marc Gilleron 983b7bd83d Merge branch 'master' into smooth_texturing
# Conflicts:
#	util/godot/funcs.h
2021-05-22 19:43:39 +01:00
Marc Gilleron 9b3263d68b Fix copy 2021-05-15 16:31:36 +01:00
Marc Gilleron 40452c6d31 Getting a voxel out of bounds from a buffer is now an error 2021-05-08 20:36:58 +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 ef448263c0 Merge branch 'master' into smooth_texturing
# Conflicts:
#	storage/voxel_buffer.cpp
2021-05-02 23:11:57 +01:00
Marc Gilleron 73aed51ea2 Optimized 16-bit voxel box copies (used when meshing) 2021-05-02 19:23:07 +01:00
Marc Gilleron 32f9006b75 Added initial support for texture weights in graph generators (not optimal) 2021-04-30 22:04:38 +01:00
Marc Gilleron 8b017f460f Basic VoxelTool function to paint textures on buffers 2021-04-25 20:23:14 +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 966551fdfd Merge branch 'master' into block_size_decoupling 2021-04-03 23:51:18 +01:00
Marc Gilleron e274330164 Print absence of pools instead of nothing 2021-04-03 20:43:43 +01: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 c90dc1b056 Formatting 2021-03-14 18:46:15 +00:00
Marc Gilleron e52df732bb Fix wrong default value when uniform channels are compressed 2021-03-12 23:41:57 +00:00
Marc Gilleron 2d283bcdfc Fix `1.f` not giving the maximum u16 value when set on a VoxelBuffer 2021-03-12 23:41:11 +00:00
Marc Gilleron ea1d617371 Implemented "chunking" of requested blocks in graph generator
so range analysis can remain precise enough even with larger blocks
2021-03-12 23:40:38 +00:00
Marc Gilleron 8adbe86da6 Formatting 2021-03-12 23:37:37 +00:00
great90 94755ae420 Fix dead loop in 'VoxelBuffer::for_each_voxel_metadata_in_area' and 'VoxelBuffer::clear_voxel_metadata_in_area' 2021-03-05 18:08:39 +08:00
Marc Gilleron 76ec90fe34 Moved constants and tables under a folder 2021-02-21 23:58:00 +00:00
Marc Gilleron 09c815e253 Implemented `copy` and `paste` for VoxelToolTerrain (untested) 2021-02-21 18:23:56 +00:00
Marc Gilleron 31e5130708 Remove unreachable return 2021-02-21 18:21:05 +00:00
Marc Gilleron a3fd0a1afd Print memory pool debug info only in verbose mode 2021-02-19 01:36:14 +00:00
Marc Gilleron f1e2ea9ad4 Update to latest Godot's threading primitives 2021-02-19 01:30:22 +00:00
Marc Gilleron d1207bdd96 Reorganized some utility files 2021-02-17 20:34:35 +00:00
Marc Gilleron 158715922d Fix retrieving from cache
It should have made a copy and the input should have been populated
instead of being replaced (because it wouldn't hold the ref)
2021-01-30 01:33:55 +00:00
Marc Gilleron 414f6cc305 Fix sdf_scale not defaulting according to the real default channel depth 2021-01-24 14:48:25 +00:00
Marc Gilleron 55a38957b5 Added SDF scale to VoxelTool. Default value should work best with default bit depth. 2021-01-24 13:54:38 +00:00
Marc Gilleron ca22dc5a29 Should not be there 2020-12-29 22:18:08 +00:00
Marc Gilleron 5fdc4b6485 Debug check and some formatting 2020-12-29 22:14:49 +00:00
Marc Gilleron c94cb9c4a1 Multiply instead of divide 2020-12-25 17:06:40 +00:00
Marc Gilleron c8c3886c6f Voxels now use 16-bit by default on the SDF and TYPE channels 2020-12-24 23:12:36 +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 89abb37e0f consts 2020-12-18 20:52:09 +00:00
Marc Gilleron dec9b31801 Rename index() to get_index() to make it less like a variable name 2020-12-18 20:48:08 +00:00
Marc Gilleron 87e575e504 Use reinterpret_cast instead of ambiguous C-style cast 2020-12-18 20:46:54 +00:00
Marc Gilleron 6c80da0425 Moved VoxelBuffer and VoxelMemoryPool under storage/ directory 2020-09-14 19:33:02 +01:00