-- Support for Nanite to GeometryCollection conversion
-- Support for multiple UV sets
#jira UE-114992
#rb jimmy.andrews
[FYI] brice.criswell
#ROBOMERGE-OWNER: peter.knepley
#ROBOMERGE-AUTHOR: brett.miller
#ROBOMERGE-SOURCE: CL 16363667 in //UE5/Private-Frosty/...
#ROBOMERGE-BOT: STARSHIP (Private-Frosty -> Main) (v804-16311228)
#ROBOMERGE-CONFLICT from-shelf
[CL 16370251 by peter knepley in ue5-main branch]
- change matrix types for dynamic data to be explicitly using float
- wrapped update of vertex buffer to ensure type check
- When LWC mode is on, convert double based matrices to they float equivalent ( sub-optimal, but necessary for now until we have a better way )
#jira UE-115570
#fyi brice.criswell, brett.miller
[CL 16333456 by cedric caillaud in ue5-main branch]
-- Added state machine logic and scene proxy callbacks for triggering when motion begins and ends.
#jira UETOP-1546
#rb graham.wihlidal
#lockdown nick.whiting
#ROBOMERGE-SOURCE: CL 16178376 in //UE5/Release-5.0-EarlyAccess/...
#ROBOMERGE-BOT: STARSHIP (Release-5.0-EarlyAccess -> Main) (v792-16166999)
[CL 16178381 by brett miller in ue5-main branch]
* Implemented thread safe object pool / free list allocator (FGeometryCollectionDynamicDataPool)
* Added Chaos stats for total transforms and changed transforms
* Removed TransformsAreEqual mechanism that caused full transform updates to occur unnecessarily for 2 subsequent frames, as the state wasn't stable until the previous 3 frames were stable. This was incredibly innefficient for GPUScene, etc..
* InitDynamicData now returns the data allocation (which can be null if not dynamic or if no transforms have changed), users of this now check if it's available, and either skip or fall back to the static/rest path otherwise
* Cleaned up some code paths by combining them with similar passes
* Removed tons of allocations, including heavy allocations/memcopies of transform data, even on stable frames (which were immediately deallocated right after allocation and setup of the dynamic data)
* Saves ~0.5 to 1.0ms of CPU time in heavy scenes
* Saves ~0.5ms of GPU time doing far less GPUScene updates
* Main optimization around this refactor is forthcoming in a followup CL (avoid calling MarkRenderTransformDirty in TickComponent).
#rb brett.miller, brice.criswell
#lockdown nick.whiting
[FYI] brian.karis, rune.stubbe
#jira UETOP-1088
#ROBOMERGE-SOURCE: CL 16059409 in //UE5/Release-5.0-EarlyAccess/...
#ROBOMERGE-BOT: STARSHIP (Release-5.0-EarlyAccess -> Main) (v789-15992632)
[CL 16061411 by graham wihlidal in ue5-main branch]
#rb none
#ROBOMERGE-OWNER: ori.cohen
#ROBOMERGE-AUTHOR: ori.cohen
#ROBOMERGE-SOURCE: CL 12623495 via CL 12623508 via CL 12623509 via CL 12623510
#ROBOMERGE-BOT: RELEASE (Release-Engine-Staging -> Main) (v675-12543919)
[CL 12623517 by ori cohen in Main branch]
#rb none
#ROBOMERGE-OWNER: ori.cohen
#ROBOMERGE-AUTHOR: ori.cohen
#ROBOMERGE-SOURCE: CL 12510784 via CL 12510899 via CL 12510908 via CL 12510913
#ROBOMERGE-BOT: RELEASE (Release-Engine-Staging -> Main) (v673-12478461)
[CL 12510925 by ori cohen in Main branch]
#rnx
#rb none
#ROBOMERGE-OWNER: ryan.durand
#ROBOMERGE-AUTHOR: ryan.durand
#ROBOMERGE-SOURCE: CL 10869210 via CL 10869511 via CL 10869900
#ROBOMERGE-BOT: (v613-10869866)
[CL 10870549 by ryan durand in Main branch]