Commit Graph

127 Commits

Author SHA1 Message Date
9a151ffc6c Same treatment to methods in VoxelManLibrary. 2020-10-27 23:24:24 +01:00
2dec05f80f Also renamed the channel-related methods in VoxelChunk. 2020-10-27 12:45:15 +01:00
1d1fdf5c56 Same treatment to jobs in VoxelChunk. 2020-10-26 18:29:05 +01:00
a714e81db3 Fix a few issues with the cubic mesher. 2020-10-12 22:59:27 +02:00
235943f7ca Removed the old meshing implementation, and replaced most logic to the new one. The code compiles, but it won't work for now. Also other cleanups. 2020-10-02 23:47:39 +02:00
71f69666cd Moved VoxelJob to a new folder. Also added generate_ao and generate_random_ao from voxel chunk into it. 2020-10-01 20:18:43 +02:00
eea8309352 Implement texture scale for the blocky mesher. Also added an option to add vertex colors even whe n lighting is off. 2020-08-26 00:11:32 +02:00
64b9476eca Moved the texture scale property to VoxelMesher. 2020-08-25 23:09:41 +02:00
5938f7f783 Now the type and isolevel channels are customizable in the meshers. 2020-08-21 20:02:22 +02:00
4921252475 Set light.a to 1. 2020-08-21 12:34:56 +02:00
3ade810606 Removed leftover debug operation. 2020-08-21 12:21:47 +02:00
de6c2d6ffa Texture scaling for the cubic mesher. 2020-08-21 12:19:18 +02:00
fc153bae06 Surface support for the cubic mesher. 2020-08-21 12:10:15 +02:00
5358c99646 Now VoxelChunkDefault supports coloring MeshDataResources that span multiple chunks. 2020-08-16 18:20:16 +02:00
0a4d07c582 The terrarin mesh setup phase can now distribute it's calculations onto multiple frames.. Also small fixes to the single threaded logic. 2020-08-04 14:40:40 +02:00
0138c02bf8 Implemented meshing chunk's mesh data resources. 2020-06-28 19:02:49 +02:00
7219d7b2d4 Added a Cubic chunk and World. 2020-06-12 19:34:47 +02:00
61a8b9224f Removed _add_chunk_liquid from VoxelMesher as it's not used anymore. 2020-06-12 18:06:41 +02:00
cc90d3b54b Removed the Transvoxel Mesher. 2020-06-12 18:02:46 +02:00
a83585bd81 Turned the Transvoxel mesher into a MarchingCubes mesher. Removed the parts that weren't used. 2020-06-12 17:59:04 +02:00
1d51be2f0b Moved 4.0 compatibility code into a new defines.h (like in ESS). 2020-05-23 10:34:47 +02:00
c48dfde661 Now the Transvoxel mesher will only interpolate between uv1 and uv2 at 3 steps (0, 0.5, 1). 2020-05-09 21:24:23 +02:00
1a1c0ade12 Liquid mesher will only mesh liquid blocks now. 2020-04-19 23:55:06 +02:00
e07bb3850d Now the blocky mesher will not mesh the liquid blocks. 2020-04-19 23:48:59 +02:00
21ad01ca80 Removed separate liquid surfaces. They will be contained inside the normal voxel arrays. 2020-04-19 23:35:47 +02:00
ab26a7627a Added a blocky liquid mesher. (It's just a copy of the normal blocky mesher for now.) 2020-04-19 23:02:37 +02:00
59b5086113 Fix potential crash in the blocky mesher. 2020-04-17 14:32:52 +02:00
7c0390de74 The air block is not required anymore. Also Implemented the sidebar for world editor. And fixed a naming error for a virtual method in the merger library. 2020-04-17 00:37:22 +02:00
1f23f61b3a Ran clang format, as apparently I had it off. 2020-04-10 13:55:27 +02:00
f6ed4505e7 Fixed indexing in the blocky voxel mesher. 2020-04-10 13:38:34 +02:00
69cc6e0b77 Better block positions for the blocky mesher. 2020-04-09 22:06:02 +02:00
a722f807fe Fix building for 3.2. 2020-04-09 15:45:51 +02:00
073e1aeb97 Fix build for 4.0. 2020-04-09 12:34:39 +02:00
9fe51572f4 Didi the same optimization to the transvoxel uv mesher. 2020-04-07 14:40:35 +02:00
f7842e1ab2 The blocky mesher is a lot faster now. 2020-04-07 14:23:20 +02:00
a4fc573f85 Optional module dependencies are actually optional now. 2020-04-06 22:47:03 +02:00
28ce072e51 Renamed VoxelMesherTransvoxel to VoxelMesherUVTransvoxel. 2020-04-06 14:52:18 +02:00
81dc8bcb36 Don't bake colors, if lighting is disabled. 2020-04-06 14:23:49 +02:00
b9ba0c0bf9 Moved _bake_colors and _bake_liquid_colors into VoxelMesherDefault. Also made the other meshers inherit it. 2020-04-06 14:21:46 +02:00
b4c61ac674 Created a default version from world, and the mesher. Also added a BuildFlags enum to VoxelChunkDefault. Converted a few properties to use this. 2020-04-06 13:41:45 +02:00
37517c2e18 Implemented blocky meshing. 2020-04-05 17:15:08 +02:00
dfee0a7786 Added a blocky mesher, chunk, and world (The minecraft-style mesher). It's incomplete. Also ported the light baking step from Broken Seals, and fixed a few warnings. 2020-04-05 01:36:41 +02:00
9da5d2e2d0 VoxelChunk now inherits from Resource instead of from Spatial. This is to make the scene cleaner (especially after I implement the world editor plugin). As a small bonus this should also make multithreading-related crashes harder to create, as manipulating the Scenetree from a thread by accident is now a lot harder. 2020-04-02 21:28:19 +02:00
541abb954d Now materials in Library are stored with vectors. This makes it possible to have different materials for every lod level for example. 2020-03-29 20:19:38 +02:00
a5c5a7b56b Remove -std=c++11 cppflag as it!s not needed. Also compile fix for msvc. 2020-03-24 16:56:04 +01:00
080e8f2437 Broke up VoxelChunk into VoxelChunk and VoxelChunkDefault. 2020-03-12 23:23:38 +01:00
9154009250 Added remove_doubles, and remove_doubles_hashed methods to VoxelMesher, the hashed version is actually about 40-ish percent faster usually, but if hash might occur with it. The TransvoxelMesher now automatically simplifies it's meshes after a buffer is added, using the hashed version (to see in practice how common hash collisions are). 2020-03-09 00:17:50 +01:00
a22be7208c The transvoxel mesher now won't allocate small arrays constantly during generation. 2020-03-08 23:40:22 +01:00
45976ca387 Reworked VoxelMesher's api a bit, now it works like SurfaceTool. Also it now stores data the same way i.e. 1 container, with a Vertex struct (I took the Vertex struct, and it's hasher from Surface Tool (because the hasher was private)). This will make mesh post processing a lot easier. 2020-03-08 22:36:58 +01:00
e4b094a27c VoxelMesher's build_collider now returns an array, also it is now bound. 2020-03-06 15:39:15 +01:00