- Added CollisionMarginFraction to the size specific data.
#jira FROST-3281
#rb Brett.Miller
#preflight 60e0d9961a88600001ed0e83
[CL 16808746 by Brice Criswell in ue5-main branch]
-- Removed GeometryCollectionComponent dereferencing from PhysicsThread code
-- Uses PhysicsProxy simulation parameters to determine if events are recorded/played
#rb benn.gallagher
[FYI] brice.criswell
#ROBOMERGE-SOURCE: CL 16709692
#ROBOMERGE-BOT: (v835-16672529)
[CL 16709703 by brett miller in ue5-main branch]
-- Removed per observed controls for StartMode, CacheMode and moved to a single set of controls on the cache manager.
-- Cache takes name from observed component.
-- Placed CacheCollection automatically set to Kinematic, non-placed are Record
-- Random access start frame
-- Consistenty record all transforms in Actor space
-- Compatible with Sequencer control
-- Created Playback only CacheManager subclass
-- GeometryCollection recording abides component flags to record/playback breaking/collision/trailing events
#rb benn.gallagher
[FYI] brice.criswell
#ROBOMERGE-SOURCE: CL 16684501
#ROBOMERGE-BOT: (v835-16672529)
[CL 16684502 by brett miller in ue5-main branch]
- Added instance data validation
- Added general load balancer for instance processing on GPU (will move to own files later)
- Added initial GPU-side write access API for GPU scene.
- Addded specialized kernel to update primitive IDs in instances when that is the only change.
#rb graham.wihlidal
#jira UE-116671
#preflight 60c25d7b1264df0001aab80b
#ROBOMERGE-SOURCE: CL 16628528
#ROBOMERGE-BOT: (v831-16623017)
[CL 16628539 by ola olsson in ue5-main branch]
Pages can now refererence data from the parent page.
Page transcoding is now batched based on page dependencies.
Removed Nanite's LZ container for platforms that don't have hardware LZ. Rely on iostore compression instead. ~4% disk saving. 32mb system memory saving from temp buffer.
Better integer-based UV quantization code similar to new position quantization.
Got rid of remaining old position quantization code.
Reduced float4s per cluster from 8 to 6. ~2% memory density.
Added BitStreamReader support for reading from UAV. Needed to reference parent data.
#rb graham.wihlidal
[FYI] brian.karis
#ROBOMERGE-SOURCE: CL 16621364
#ROBOMERGE-BOT: (v830-16605563)
[CL 16621388 by rune stubbe in ue5-main branch]
* Moved Nanite resource ID and hierarchy offset back to primitive data (indirection cost is largely noise these days, and memory savings is more important - GetInstanceData() fetches this data and stores in the pre-existing registers so all the callsites don't have to worry about it).
* Removed FNaniteInfo from FPrimitiveInfo (and the type itself) in favor of just having a 32bit per-instance hierarchy root offset. Hierarchy offset and runtime resource ID just sourced from primitive.
* Removed PrimitiveID from CPU instance data (GPU still needs it). This value was redundantly stored per-instance, and now the GPU Scene upload just blits it over from primitive when the instance data is uploaded.
* Added new virtual GetNaniteResourceInfo on FPrimitiveSceneProxy that retrieves the Nanite resource ID and hierarchy offset stored on a given primitive (needed now that FPrimitiveInstance doesn't cache a copy). The non-virtual FPrimitiveSceneProxy::IsNaniteMesh() helper is used to avoid this virtual function call for non-Nanite proxies.
* Removed deprecated and no longer referenced Nanite::FResources array on FNaniteGeometryCollectionSceneProxy
* Removed expensive per-instance checks() in a few spots
* Stubbed out upcoming per instance payload allocator offset
* Removed deprecated and never referenced non-GPUScene GetInstanceData uniform buffer path
* Significantly cleaned up and optimized a lot of ISM instance data retrieval, including avoiding unnecessary FRenderTransform <-> FMatrix conversions.
* Removed GetInstanceShaderValues API, it was inefficient and annoying to require retrieval of all parameters when often only one or two of them were ever used. In some cases even the origin was unused but .w was needed because of the per-instance random packing.
* Implemented explicit GetInstanceRandomID() accessor to fetch (under current packing) Origin.W without exposing this to the callsites
* Implemented public API for GetInstanceLightMapData(), since the internal version was only accessible by GetInstanceShaderValues()
* Renamed GetInstanceShaderCustomDataValues() -> GetInstanceCustomDataValues() for API consistency
#rb jason.nadro, krzysztof.narkowicz
[FYI] rune.stubbe, brian.karis
#ROBOMERGE-OWNER: graham.wihlidal
#ROBOMERGE-AUTHOR: graham.wihlidal
#ROBOMERGE-SOURCE: CL 16583156
#ROBOMERGE-BOT: (v828-16531559)
#ROBOMERGE-CONFLICT from-shelf
[CL 16583193 by graham wihlidal in ue5-main branch]
- Dont force a rebuild on load for the size specific default changes.
#rb Benn.Gallagher
#preflight 60ba326487fd8e0001524686
[CL 16559790 by Brice Criswell in ue5-main branch]
This change is another basis for more instance data and GPUScene improvements coming down the pipe.
#rb jason.nadro, krzysztof.narkowicz, zach.bethel, zak.middleton, rune.stubbe, ben.woodhouse
[FYI] brian.karis, ola.olsson
#preflight 60b9608d0249c300016598de
#ROBOMERGE-OWNER: graham.wihlidal
#ROBOMERGE-AUTHOR: graham.wihlidal
#ROBOMERGE-SOURCE: CL 16555619
#ROBOMERGE-BOT: (v828-16531559)
#ROBOMERGE-CONFLICT from-shelf
[CL 16555914 by graham wihlidal in ue5-main branch]
#ROBOMERGE-SOURCE: CL 16491352 in //UE5/Private-Frosty/...
#ROBOMERGE-BOT: STARSHIP (Private-Frosty -> Main) (v823-16466674)
[CL 16491365 by michael forot in ue5-main branch]
- Force Size Specific data to always have a single element.
#jira none
#rb Benn.Gallagher
#preflight 60aeaeebb44aa20001a82ea5
[CL 16476610 by Brice Criswell in ue5-main branch]
-- implemented deferred initialization using the existing SimulatePhysics property and SetSimulatePhysics blueprint function.
-- Cleaned out old caching code
#jira FROST-1065
#rb brice.criswell
#ROBOMERGE-SOURCE: CL 16461543 in //UE5/Private-Frosty/...
#ROBOMERGE-BOT: STARSHIP (Private-Frosty -> Main) (v818-16446889)
[CL 16461679 by brett miller in ue5-main branch]
- Transfer defaults to size specific data
#jira UE-116415
#rb None
#fyi Benn.Gallagher
#preflight 60ad5700bb30900001cac176
[CL 16456707 by Brice Criswell in ue5-main branch]