Commit Graph

893 Commits

Author SHA1 Message Date
sarah noonan
467c0e0269 Release unused slack memory in geometry collection rep data.
#rb cedric.caillaud, Michael.Forot

[CL 30502426 by sarah noonan in ue5-main branch]
2024-01-09 07:41:49 -05:00
cedric caillaud
b8a308ca64 Geometry collection : expose EnableRootProxyForCustomRenderer function to blueprint
[FYI] jacob.buck

[CL 30489780 by cedric caillaud in ue5-main branch]
2024-01-08 16:13:47 -05:00
vincent robert
091054745a No creating particle and geometry on Game Thread when creating a Geometry Collection.
Still creating geometry on the Physics Thread, otherwise a partial destruction issue occurs.
Setup query flag after particle and geometry creation
#rb cedric.caillaud
#fy chris.caulfield

[CL 30386282 by vincent robert in ue5-main branch]
2023-12-18 19:27:18 -05:00
arciel rekman
b34e7d240b Rename StripData methods to better reflect their semantics.
- Done in anticipation of adding new StripData flags.

[REVIEW] [at]Josh.Adams
#rb Josh.Adams

[CL 30384206 by arciel rekman in ue5-main branch]
2023-12-18 17:47:34 -05:00
cedric caillaud
9842d58a96 geometry collection : fix pre-placed geometry collection not properly setting collision when calling SetUseStaticMeshCollisionForTraces from construction script
- When placing in editor, construction script runs before physics proxy is set , which was not setting the collision properly
- Move the proxy side flag to be part of the simulation parameters, so that when the proxy get created it is properly set from the component bUseStaticMeshCollisionForTraces property

#rb emanuel.masciarelli, michael.bao, vincent.robert

[CL 30378857 by cedric caillaud in ue5-main branch]
2023-12-18 12:52:01 -05:00
Brice Criswell
76564a4230 Dataflow : GeometryCollection
- Crash when TransformStarts or InstanceCounts are empty.
#rb cedric.caillaud
#jira none

[CL 30363726 by Brice Criswell in ue5-main branch]
2023-12-15 17:46:59 -05:00
matt peters
d96bd0db63 GeometryCollection Indeterminism: Fix crash due to not calling ValidateSizeSpecificDataDefaults when it is saved; the validation done during serialize is needed in some cases.
Crash repro instructions: create a new worldpartition level, add cube, create a level instance from that cube.
#rnx
#rb matt.peters
#rbself Fixing build break

[CL 30293351 by matt peters in ue5-main branch]
2023-12-13 10:30:16 -05:00
benn gallagher
a7c12121a9 Handle geometry collection particles being decayed immediately on the physics thread and fix immediately decayed internal geometry collection clusters reporting their children as active.
#rb cedric.caillaud

[CL 30290897 by benn gallagher in ue5-main branch]
2023-12-13 08:53:16 -05:00
kenzo terelst
4450458128 PSO Precache miss fixes:
- precache PSOs for GeometryCollectionComponent without custom renderer
- precache PSOs for Volumetric fog materials
- precache PSOs for projected shadow rendering using depth pass processor with different depth stencil state and render target
- always precache shadow rendering PSOs for default stream (non Position and PositionAndNormalOnlyStream)

#rb benjamin.rouveyrol

[CL 30290345 by kenzo terelst in ue5-main branch]
2023-12-13 08:14:19 -05:00
aris theophanidis
26e4fec512 Addition of a warning in UGeometryCollectionComponent to catch GC that might be using bStripOnCook without bUseRootProxyForNavigation (resulting in exporting nothing).
#rb cedric.caillaud

[CL 30276242 by aris theophanidis in ue5-main branch]
2023-12-12 16:10:18 -05:00
matt peters
944e81486e GeometryCollection Indeterminism: Prevent ValidateSizeSpecificDataDefaults from being called on the default GeometryCollection object when it is serialized. Validate only needs to be called when loading and calling it other times (e.g. ObjectCollector archives) can incorrectly trigger it on the default object. If the default object has ValidateSizeSpecificDataDefaults, then it will afterwards change the save serialization of instances that have SizeSpecificData equal to the default values constructed by ValidateSizeSpecificDataDefaults.
#jira UE-202374
#rnx
#rb cedric.caillaud

[CL 30274488 by matt peters in ue5-main branch]
2023-12-12 15:31:22 -05:00
cedric caillaud
2f9a56c50a Geometry collection: fix ivisible geometry collection when using ISM Pool but no root proxy meshes
#rb Jeremy.Moore

[CL 30243415 by cedric caillaud in ue5-main branch]
2023-12-11 13:44:33 -05:00
matt peters
64658cf6ae GetAssetRegistryTags deprecation: Make the old GetAssetRegistryTags and related functions deprecated.
Upgrade the overrides and callsites in all of Epic's code.
Every class that can be subclassed by licensees that has its override change needs to keep the old version of the function as deprecated. Otherwise subclasses that call Super::GetAssetRegistryTags will have a compile error instead of a deprecation warning.
Several classes had their own extension method for GetAssetRegistryTags being passed on to user data classes. Updated all of those to take FAssetRegistryTagsContext just like GetAssetRegistryTags does.
#rnx
#rb Francis.Hurteau

[CL 30224166 by matt peters in ue5-main branch]
2023-12-08 21:45:21 -05:00
benn gallagher
5ec2f5fb7f Added checks for nulled ISMs to transform updates on GeometryCollection pools. When ISM pools release all their instances they can be nulled and added to a free list that wasn't checked by the transform update loop.
#rb cedric.caillaud, Jeremy.Moore

[CL 30221248 by benn gallagher in ue5-main branch]
2023-12-08 17:46:18 -05:00
vincent robert
fb68621191 [Backout] - CL30213133
[FYI] vincent.robert
Original CL Desc
-----------------------------------------------------------------
[Backout] - CL30211300
[FYI] vincent.robert
Original CL Desc
-----------------------------------------------------------------
Reduce array size to store only required particles.
Several array in the Geometry Collection are used to store particle. According to the max simulation level, not all particle are created.
Now array have their own size, the particle size and the transform size in the proxy is now distinguished.
This change save 55% of memory in initialization.
It also avoid to process all transforms, we now iterate only through particles which should be way faster.
#rb cedric.caillaud

[CL 30221091 by vincent robert in ue5-main branch]
2023-12-08 17:44:59 -05:00
vincent robert
3a8a8e02b7 [Backout] - CL30211300
[FYI] vincent.robert
Original CL Desc
-----------------------------------------------------------------
Reduce array size to store only required particles.
Several array in the Geometry Collection are used to store particle. According to the max simulation level, not all particle are created.
Now array have their own size, the particle size and the transform size in the proxy is now distinguished.
This change save 55% of memory in initialization.
It also avoid to process all transforms, we now iterate only through particles which should be way faster.
#rb cedric.caillaud

[CL 30213295 by vincent robert in ue5-main branch]
2023-12-08 12:11:16 -05:00
vincent robert
9df21ce019 Reduce array size to store only required particles.
Several array in the Geometry Collection are used to store particle. According to the max simulation level, not all particle are created.
Now array have their own size, the particle size and the transform size in the proxy is now distinguished.
This change save 55% of memory in initialization.
It also avoid to process all transforms, we now iterate only through particles which should be way faster.
#rb cedric.caillaud

[CL 30211315 by vincent robert in ue5-main branch]
2023-12-08 10:57:31 -05:00
jeremy moore
af02947e11 Fix race condition when creating geometry collection scene proxy for nanite. Moved some state caching from the constructor, which isn't guaranteed to be called after render resources are initialized, to CreateRenderThreadResources which is.
#rb cedric.caillaud
#jira UE-202208

[CL 30211075 by jeremy moore in ue5-main branch]
2023-12-08 10:43:52 -05:00
michael forot
695d1227af Rebuild cluster geometry if the GC transform is scaled at runtime
#rb cedric.caillaud, michael.bao

[CL 30027786 by michael forot in ue5-main branch]
2023-11-30 18:11:12 -05:00
markus boberg
2b8dbad6d8 Small coding standard fix that failed to merge down after being cherry picked to parent stream and altered there.
#rb jeanfrancois.stamour

[CL 30010964 by markus boberg in ue5-main branch]
2023-11-30 04:34:32 -05:00
marc audy
01e7381e04 Fix C4702 warnings
#rnx

[CL 29975801 by marc audy in ue5-main branch]
2023-11-28 19:03:48 -05:00
markus boberg
c5d4883efb Server crash on executing async physics command.
Check that the cached lambda function is callable before calling it.
Null check logic in the source function enqueing the lambda.
Use locally cached async physics command struct instead of accessing array each time.

#rb Michael.Forot

[CL 29711242 by markus boberg in ue5-main branch]
2023-11-14 08:57:39 -05:00
jeremy moore
f3aa01fb82 Add ISMPool option to not pay cost of ISM component update and ISMPool Tick associated with preallocation.
[CL 29683832 by jeremy moore in ue5-main branch]
2023-11-13 10:09:25 -05:00
michael bao
12eb342dcd revert previous change to call RegisterForEvents every time we change a notify global event flag - only set the flag directly on the PT directly for breaks
#rb cedric.caillaud

[CL 29677753 by michael bao in ue5-main branch]
2023-11-12 17:45:44 -05:00
michael bao
c74837a2fa geometry collection should track its previously set world transform external so the GT can compute the difference between the two if needed (e.g. if it needs to query the difference prior to the PT->GT sync)
#rb cedric.caillaud

[CL 29673947 by michael bao in ue5-main branch]
2023-11-11 16:24:45 -05:00