Commit Graph

52 Commits (b2f7d23f7fabf6d4313b8937af7334ded17f62f6)

Author SHA1 Message Date
Marc Gilleron 4b52d8fd18 get_channel_raw returns an ArraySlice instead of a pointer 2020-01-25 23:26:55 +00:00
Marc Gilleron 2d5775f233 Removed 1-bit and 24-bit depths, will add them back if they are really needed 2020-01-25 20:45:47 +00:00
Marc Gilleron 1e1385c86c VoxelMesherBlocky supports 16-bit voxels 2020-01-18 19:51:21 +00:00
Marc Gilleron 4a359a3dbd Add depth format to region files stream (untested) 2020-01-10 18:56:57 +00:00
Marc Gilleron 5e066fa7cd Fix compilation 2020-01-06 00:46:58 +00:00
Marc Gilleron a8f8a03439 Added customizable bit depth to VoxelBuffer. UNTESTED 2020-01-04 19:20:49 +00:00
Marc Gilleron a11a95bcce Renamed CHANNEL_ISOLEVEL => CHANNEL_SDF 2020-01-02 21:03:44 +00:00
Marc Gilleron 6b05b9c9ce Expose VoxelBuffer.downscale_to 2019-12-26 20:30:20 +00:00
Marc Gilleron 2e974444c6 Implement VoxelTool for VoxelBuffer 2019-12-14 21:34:41 +00:00
Marc Gilleron 17c6b1f557 Fixed and tweaked a bunch of things, first working editing with LOD 2019-09-06 23:24:56 +01:00
Marc Gilleron b284541219 Cleanup includes 2019-09-05 19:43:25 +01:00
Marc Gilleron 4ab688c9be Barebones edition, untested WIP 2019-09-05 02:24:16 +01:00
Marc Gilleron 2e1467edd7 Implemented nearest neighbor downscaling (to be tested) 2019-09-02 21:14:30 +01:00
Marc Gilleron 07d4deeaab Formatting 2019-08-15 01:40:27 +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 3b7dccefb2 Revert some castings 2019-06-22 22:14:27 +09:00
Cory Petkovsek f6a9c5761a Fix gcc sign comparison warnings 2019-06-18 14:24:56 +09:00
Marc Gilleron 94c5d5a78c Merge branch 'master' into persistence
# Conflicts:
#	voxel_buffer.h
2019-06-01 19:53:16 +01:00
Marc Gilleron 04bbfcd182 Fix VoxelStreamImage.channel property inconsistency 2019-05-30 00:46:08 +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 9d2c491fe9 Remove some comments 2019-05-25 15:53:36 +01:00
Marc Gilleron 2eb093e76b Rename VoxelBuffer.optimize() => compress_uniform_channels 2019-05-25 15:52:35 +01:00
Marc Gilleron 1baa13ff3b Added VoxelBuffer::clear_channel_f() 2019-05-05 18:27:09 +01:00
Marc Gilleron 12a97cca5a Reorganize all files and rename a few things 2019-04-28 17:58:29 +01:00
Marc Gilleron c8fbf19814 Rename get/set_voxel_iso => get/set_voxel_f 2019-04-28 16:28:49 +01:00
Marc Gilleron c837ca4dd0 Code formatting 2019-04-28 01:34:00 +01:00
Marc Gilleron 0f378fe218 Remove default channel from `is_uniform()` to prevent mistakes 2019-04-28 00:27:17 +01:00
Marc Gilleron 227bf5ad36 Added get/set_voxel_f in VoxelMap 2019-04-28 00:25:33 +01:00
Marc Gilleron 6d872160ab Added get_size() as Vector3 to VoxelBuffer 2019-04-27 02:06:09 +01:00
Marc Gilleron 8c6defee09 Fixed bad VoxelBuffer indexing for non-cubic volumes 2019-04-26 03:35:00 +01:00
Marc Gilleron b85e696b7b Fixed bad position validation in VoxelBuffer 2019-04-26 02:52:32 +01:00
Marc Gilleron bed8ac8cb9 Drop gradient channels, fix misconception about what gradient is 2019-04-22 21:17:19 +01:00
Marc Gilleron 9108bfe0f6 Fix VoxelBuffer channel initialized with wrong value when allocated 2019-04-22 20:15:19 +01:00
Marc Gilleron 869b921ce8 Add VoxelBuffer::fill_iso() 2019-04-22 20:14:25 +01:00
Marc Gilleron 91a5c7ffa8 A bit of reorganization and tweaks:
- Moved HermiteValue in its own file
- VoxelBuffer channels are now predefined
- Create DualGridGenerator for easier passing of data
- Chunk size is no longer hardcoded
- Respect padding when polygonizing voxels
- BUG: due to the above, the way we build the octree is now breaking the result as mentionned in the TODO
2019-04-21 19:31:35 +01:00
Marc Gilleron d53e43f115 Added function to compute gradients from isolevels 2019-04-21 02:54:35 +01:00
Marc Gilleron 1181cfa59f Dual marching cubes WIP (only octree and dual grid extraction, untested) 2019-04-20 17:32:10 +01:00
Marc Gilleron b052f7fc2d Added try_set_voxel and fix fill_area in cases where the box is out of range 2018-10-04 23:13:03 +01:00
Marc Gilleron 8ffa7110c8 Optimize mesher: access channel directly and remove some push_backs 2018-09-30 01:55:09 +01:00
Marc Gilleron a0026dbbeb Fix includes 2018-09-19 20:25:04 +01:00
Marc Gilleron cb6de49b96 Got rid of SurfaceTool in the cubic mesher, moved cube tables in their own file, tweaked their winding 2017-08-19 21:10:31 +02:00
Marc Gilleron 51596fef95 Clang-format 2017-08-13 01:19:39 +02:00
Marc Gilleron a5a1ded2f3 Added smooth voxels (untextured at the moment) 2017-04-06 23:44:11 +02:00
Marc Gilleron fa5e419549 Upgraded to Godot 3.0 2017-03-25 01:23:36 +01:00
Marc Gilleron 06a399f932 Fixed set_voxel() and block force_update_blocks() 2017-01-05 02:39:40 +01:00
Marc Gilleron c38a822664 Code style 2017-01-02 02:19:02 +01:00
Marc Gilleron 8d1c8cc339 Spaces to tabs 2017-01-01 04:40:16 +01:00
Marc Gilleron e990286b54 Removed internal offset from VoxelBuffer and improved Vector3i 2016-05-08 02:12:47 +02:00
Marc Gilleron be630c05be Fixed VoxelBuffer binding mistakes and added fill and copy functions 2016-05-05 21:08:52 +02:00
Marc Gilleron 68cf221d1a VoxelBuffer storage is now flat to reduce memory usage and simplify code 2016-05-03 00:09:07 +02:00