Commit Graph

38 Commits

Author SHA1 Message Date
d9d157bf37 Make sure to set job's state to incomplete before building in PropInstanceMerger. This fixes complex mesh builds when threading is disabled. 2021-08-28 11:28:52 +02:00
6fe7427b03 Check whether the cache has materials instead of whether it's initialized or not in PropInstanceMerger::_build. 2021-08-25 23:42:23 +02:00
c6f6871fc2 Added collision layer and mask support to PropInstance. 2021-08-25 22:21:34 +02:00
7ccdbd474c Fixed collision shape positions in PropInstanceMerger. Also improved it's collision shape / physics body handling. 2021-08-25 20:37:37 +02:00
2568178b42 Only call initial_setup_default on the main thread, and document that shader duplication can crash if done from a different thread. Removed the material mutex from the prop cache as it's not needed anymore. 2021-08-25 17:24:25 +02:00
19b182dd71 Don't build if not in tree. 2021-08-18 20:41:10 +02:00
681cdb21c6 Collider support for TiledWalls in PropInstanceMerger. 2021-08-18 20:35:12 +02:00
5baba6436f Moved the cache setup code from PropInstanceMerger to the prop job this makes the texture merge actually threaded. 2021-08-18 18:57:19 +02:00
51e3254bfc Tiled Wall support for PropInstance and PropinstanceMerger. Also fixed a double transform multiplication with MeshDataResources in PropInstanceMerger. 2021-08-18 18:48:13 +02:00
067008bb90 Fix moving PropInstanceMerger even when it's parent is moved. 2021-08-12 20:24:39 +02:00
7643391f80 Don't turn on internal processing in PropInstanceMerger's constructor. 2021-08-12 19:29:58 +02:00
4d3c87bb09 Add missing return. Now auto lods will properly be turned off when there are no, or just one mesh in PropInstanceMerger. 2021-08-12 19:23:30 +02:00
10256f556c Implemented automatic lod checks against the active camera. Can be turned off with the new auto_lod property. Also tweaked the default distance values. 2021-08-12 18:45:12 +02:00
fb9513c911 Implemented lod level switching support for PropInstanceMerger. Also implemented toggling the meshes with visibility. 2021-08-12 17:56:38 +02:00
1d4e05b5a1 Finished light baking. 2021-08-11 19:12:03 +02:00
5dd5db80ec Use the proper transform in _prop_preprocess for the meshes aswell. 2021-08-11 18:30:46 +02:00
db6171c48f Addes api for lights to PropInstancePropJob. Also now PropInstanceMerger will process lights. 2021-08-11 18:29:52 +02:00
308d8e0baf Re-implemented/fixed collider support. Also fixed the debug draw colliders option. 2021-08-10 17:34:17 +02:00
21379908e5 Fix re-baking meshes after prop data assing. 2021-08-10 17:10:05 +02:00
498b289c36 Implement NOTIFICATION_TRANSFORM_CHANGED. 2021-08-10 16:40:46 +02:00
6e5836a859 Fixed more issues. Now meshes actually get built. 2021-08-10 15:06:10 +02:00
924b32e70a Fixed quite a few issues with the prop instance merger's logic. 2021-08-10 12:23:53 +02:00
6a4c4ad1aa Also clear the nodes if _prop_data is not valid. 2021-08-10 10:55:49 +02:00
9320f0c3c4 Reset the meshes even if _prop_data is not valid. 2021-08-10 10:53:22 +02:00
ccc94053d6 Fix ref's type. 2021-08-10 10:40:56 +02:00
8e9c865285 Fix build. 2021-08-10 10:20:27 +02:00
7c815f26b0 Removed the merge_textures property from PropInstanceMerger. 2021-08-10 10:19:03 +02:00
0d4d55278f Set up job steps in PropInstanceMerger. 2021-08-10 10:13:16 +02:00
387c6fdedd Set cache to the job and implement cache initialization for in PropInstanceMerger's _build. 2021-08-10 09:57:37 +02:00
64e6447d9c Removed the texture packer from PropInstancePropJob. The code now uses the material cache instead. 2021-08-10 09:39:18 +02:00
11b82bded3 Removed the old TexturePacker based api from PropCache. 2021-08-09 17:16:05 +02:00
fea813eae3 Renamed the PropTextureCache singleton to PropCache. 2021-08-09 15:57:21 +02:00
0eee4dba90 Cleaned up prop instance job and prop instance merger. All the necessary logic (for the time being) is there. It still needs some fixes though. 2021-05-21 15:33:29 +02:00
688499cca0 Actually queue up the job in prop instance merger. 2021-05-20 20:33:39 +02:00
a364f91bd5 Set up job's texture packer property. 2021-05-20 19:16:25 +02:00
243ddc2faf Now the prop instance job now holds an array of PropDataMeshDatas with their base transforms. Also PropInstanceMerger will now add all mesh data resources to the job when processing the prop. 2021-05-20 19:09:00 +02:00
8667cc8eaf Made prop_preprocess overrideable. 2021-04-27 16:52:36 +02:00
cbb2028d64 Split PropInstance into PropInstance and PropInstanceMerger. 2021-04-27 16:47:46 +02:00