Commit Graph

130 Commits

Author SHA1 Message Date
c7f7d0919d Don't pass bool as a const reference. 2021-08-07 11:11:21 +02:00
d3e5bb84cc Fix typos. 2021-08-07 11:09:30 +02:00
01721b9488 When the world adds a MeshDataResource to the chunk it should not be scaled again. 2021-08-07 11:08:20 +02:00
94c9fc39ac Implement refcounting for material caches. 2021-08-03 01:08:50 +02:00
8f989f7ae0 Fix potential race condition. 2021-08-03 00:24:15 +02:00
66278f0ab8 Added initialized property to TerraMaterialCache. 2021-08-03 00:16:29 +02:00
c1b0ee6651 Add missing binding to TerraMaterialCachePCM. This fixes cached material textures. 2021-08-03 00:10:16 +02:00
3da5fead10 Add support to the cache in TerraMesherBlocky. 2021-08-02 23:49:16 +02:00
73243e5b9d Removed the voxel_ prefix from the surface related methods in TerraMaterialCache. 2021-08-02 23:47:50 +02:00
2a627b0dd2 Implemented the surface related methods in TerraMaterialCache. 2021-08-02 23:44:05 +02:00
74c5200ec5 Removed the surface related overrides from TerraMaterialCachePCM. 2021-08-02 23:43:38 +02:00
24fbd24a6c Fix compile. 2021-08-02 23:33:29 +02:00
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