Commit Graph

118 Commits

Author SHA1 Message Date
6e7a9ae71b Added a new virtual voxel_surface_id_get method to the material cache. 2021-08-02 23:27:24 +02:00
1a395d3dc4 Store the id in the id property for the cached surfaces. 2021-08-02 23:19:40 +02:00
3a51d4c044 If the chunk dosen't need a material then set has_cache_key to false. 2021-08-02 23:17:30 +02:00
06ade87fac Check whether the chunk has a material cache key set instead of checking whether the library supports caching in the terrain job. 2021-08-02 23:06:22 +02:00
a813a60cf7 Added a mutex to _material_cache_get_key in TerramanLibraryMergerPCM, as this method will be accessed by multiple threads. 2021-08-02 22:45:29 +02:00
d23e2747fb Assign the new cache immediately, also comment out debug print. 2021-08-02 22:37:19 +02:00
16fe978c41 Changed const ref to a normal parameter on the get_key methods. This fixes a crash. 2021-08-02 22:34:07 +02:00
4dad639cc6 Implemented the main caching logic in TerramanLibraryMergerPCM. 2021-08-02 22:23:04 +02:00
6c5487d6c2 Add the TexturePacker, and some bindings into TerraMaterialCachePCM. Also implemented refresh_rects and _setup_material_albedo. 2021-08-02 22:21:34 +02:00
dd2aa2b303 Fixed broken set_library call. 2021-08-02 22:19:26 +02:00
2e1257d19a Remove cast in TerraSurfaceMerger's refresh_rects(), as it's no longer needed. 2021-08-02 22:18:13 +02:00
9fa05da4af Make the private fields in TerramanLibrary protected. 2021-08-02 22:17:42 +02:00
6012aeb00d Added missing binds. 2021-08-02 22:16:13 +02:00
2a731480d0 Improved the cache api again. Now the chunks can store the assigned key, so it does not have to be re-hashed again only if actually needed. 2021-08-02 20:02:48 +02:00
9e9640891d Fix a few warnings on launch. 2021-08-02 20:00:33 +02:00
74ab6b315e Made TerramanLibraryMergerPCM inherit from TerramanLibrary instead of TerramanLibraryMerger. Added the code from TerramanLibraryMerger as a base for it. 2021-08-02 19:10:52 +02:00
460f38090b Added a new TerraMaterialCachePCM class to be used with the material cache pcm. Skeleton for now. 2021-08-02 19:03:56 +02:00
4647db8f1e Now the cache api uses the new TerraMaterialCache class. 2021-08-02 13:39:29 +02:00
f53e6572b1 Added a new TerraMaterialCache class. 2021-08-02 13:13:37 +02:00
e9c314eedc Small temporary design notes for the new pcm merger. 2021-08-01 22:59:09 +02:00
adf42dc30d Per chunk material support for the Terrain job. 2021-08-01 22:21:20 +02:00
45d8dca50c Added a new phase to the terrain job, if the library supports per chunk materials, it will query the key from it (which can create materials / textures hence the new phase). 2021-08-01 19:38:45 +02:00
951e01a66e Fix a few return values. 2021-08-01 18:49:13 +02:00
f3c3bac3d1 Changed the key's type from Variant to int, as it will work better. 2021-08-01 18:38:21 +02:00
40c0b2373e Changed the cached material api a bit to be more efficient. 2021-08-01 18:22:13 +02:00
ac786ab720 Added TerramanLibraryMergerPCM. PCM = Per Chunk Material. Just a skeleton class for now. 2021-08-01 17:50:58 +02:00
660ea8bf74 Use the new lod variant of the library's material getters wherever possible. 2021-08-01 16:33:17 +02:00
cc634fb760 Added an api to terraman library to be able to support cached per chunk materials. 2021-08-01 16:22:03 +02:00
0d26975678 Fix mass replace fail in the readme. Also mention that only the newest broken seals release contains this module. 2021-04-24 14:06:11 +02:00
b22fceabe9 Added back the max_concurrent_generations property. This fixes chunk generation on android. 2021-04-21 12:03:59 +02:00
890aadb941 Stretch out the margins to the lod level's main mesh (if applicable). 2021-04-21 10:40:45 +02:00
f71e77b7e3 Lod margin corners. 2021-04-21 09:51:00 +02:00
5889ad3e9b zmax lod seam. 2021-04-21 09:18:02 +02:00
c8a690e8a3 xmin lod seam. 2021-04-21 09:15:00 +02:00
478dcd864d Work on lod seams. 2021-04-20 20:10:26 +02:00
4df44788d3 Fixed UV tiling. 2021-04-19 22:51:29 +02:00
034f3b563f Added a chunk_lod_first_falloff parameter to TerraWorldDefault. 2021-04-19 18:33:49 +02:00
a3c81f4d0c Make baked colors work on every lod types. 2021-04-19 18:15:36 +02:00
0836917f72 Job step setup. 2021-04-19 17:57:47 +02:00
437d175533 Fix the normal lod step and merge verts steps. 2021-04-19 17:51:52 +02:00
a6d8ee6ae4 Renamed EnvironmentData to TerraEnvironmentData. Also fixed include guard. 2021-04-18 22:34:17 +02:00
fed3d10107 Optimized _bake_colors, and _bake_liquid_colors. Also fixed a bug with it. 2021-04-18 19:29:45 +02:00
13b396abc1 Get the valid channel in terra mesher blocky. 2021-04-18 19:16:52 +02:00
0043df1c1d Fix crash when lighting is enabled, and the liquid mesher is null. 2021-04-18 19:16:29 +02:00
07788b6e8d Removed a few more unused properties. 2021-04-17 19:29:59 +02:00
94d18a7c48 Removed a few now unused properties. 2021-04-17 19:13:57 +02:00
957f0a34b3 Fix 2 bindings in TerraWorld. 2021-04-17 19:09:32 +02:00
3841a53e3d Now the Terrain Mesher Job uses job steps. 2021-04-17 19:04:25 +02:00
8741d8d646 Now the terrarin job only supports one liquid mesher, and one normal mesher. 2021-04-17 15:57:31 +02:00
de40b5e130 Added simplify mesh type, and an other type to the new class. Also added a bunch of properties for the simplification type if mesh utils is present. 2021-04-17 13:21:44 +02:00