Commit Graph

109 Commits

Author SHA1 Message Date
654e8872de Updated copyright headers. 2022-01-12 22:19:46 +01:00
6da33a351c Re-extracted the class docs. 2022-01-12 22:18:28 +01:00
ae53ad5001 Added an alternative forward_spatial_gui_input to the world editor, so the plugin also works with my godot fork / TokageItLab's skeleton editor changes. 2021-09-23 23:10:48 +02:00
86de26c2c7 Added chunk_added and chunk_removed signals to TerraWorld. 2021-08-28 00:26:46 +02:00
632586f4b3 Now the world can be deactivated when needed. 2021-08-28 00:05:36 +02:00
ecf09d1245 Actually use the vector write proxies in TerraMesher's build_mesh. 2021-08-10 12:36:48 +02:00
2cbb13ea58 TerraPropJob will now make use of the prop material cache. 2021-08-08 14:02:36 +02:00
8ec411e80c TerramanLibraryMergerPCM will now use mesh data resource additional textures, instead of props for the prop material cache. 2021-08-08 14:02:07 +02:00
b36d91fd76 Don't forget to add props (prop textures) to the cache. 2021-08-08 13:40:03 +02:00
114adce2b9 Added a setup phase for TerraPropJob which sets up prop material caches. 2021-08-08 13:37:26 +02:00
ba595f9168 Implement prop material cache realted methods for TerramanLibraryMergerPCM. 2021-08-08 13:36:13 +02:00
2e38466015 Add comment. 2021-08-08 13:34:58 +02:00
d931a53a13 Don't return in the terrain job if the cache is not initialized, wait instead. 2021-08-08 13:22:40 +02:00
69284d9ebb Another build fix when the prop module is present but the mesh data resource module is not. 2021-08-08 12:16:43 +02:00
63a488d16d Renamed _cache_mutex to _material_cache_mutex, and added a new _prop_material_cache_mutex. 2021-08-08 11:51:51 +02:00
6cf36fcd05 Implement additional textures login for TerraMaterialCachePCM. 2021-08-08 11:43:02 +02:00
ab5c1ffb24 Improved the additional textures api a bit in MaterialCache. Also added helper methods for adding textures from props. 2021-08-08 11:42:24 +02:00
69bf9ed996 Fix build when the prop module is present but the mesh data resource module is not. 2021-08-08 11:41:13 +02:00
6acaef6a5d Added a few virtual methods to store additional textures with in MaterialCache. This will likely make implementing caching for props fairly trivial. 2021-08-07 19:24:14 +02:00
e5c860e578 Moved a mesher vertex count check lower. This fixes missing meshes when none of the mesh data resources are fully in a chunk. 2021-08-07 15:14:50 +02:00
8362eaf58e Better phase cleanups in PropJob. 2021-08-07 15:03:35 +02:00
f62b605d9a now PropJob will actually use JobSteps. 2021-08-07 13:47:55 +02:00
ac6c5001d5 Added a few todos. 2021-08-07 13:46:50 +02:00
2ba4bc79c4 Change the terrain mesh indexes to prop mesh indexes in the prop job. Also query for the prop mesh cache. 2021-08-07 12:55:15 +02:00
2fd0eac8cc Added the JobStep api to TerraPropJob. It's used yet. 2021-08-07 12:37:37 +02:00
1fd761e115 Don't cast to TerraMesherBlocky in the TerrarinJob. 2021-08-07 12:32:22 +02:00
31a5ac8764 Moved the lod_index property from TerraMesherBlocky to TerraMesher. 2021-08-07 12:31:52 +02:00
f59f817ee6 Now TerraChunk can store liquid and prop material cache keys aswell. 2021-08-07 12:09:41 +02:00
f76a7f9df4 Chunk's mesh_data_resource_add expects a local transform. 2021-08-07 11:26:21 +02:00
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