Use the RestCollection to access those attributes instead.
#rb cedric.caillaud, vincent.robert, Benn.Gallagher
[CL 29246315 by titouan deslandes in ue5-main branch]
- Removed old vertex-attribute centered buffers & useless translation code & replace with GPU-scene centric data
- Made the instance data persistent over scene proxy re-creates.
- Tracks per-instance data changes in the ISM & implement delta updates, remove need to call "MarkRenderStateDirty" for most instance updates
- Added preliminary ID-based interface for ISM such that users can forego needing to match the internals (e.g., remove swap, required when using indices).
- Unified the instance data use in the renderer (removed mix of old & new buffers and processing sites) - all code now sees orthogonalized transforms, the same as is in GPU-Scene.
- Added FInstanceSceneDataBuffers and moved instance data buffer arrays to that from the Primitive proxy
- Added FISMInstanceDataManager, which is responsible for tracking changes & dispatching updates. The ISMC owns one of these.
- Instance data update tasks are async and waits are only done when needed, e.g., for GPU-scene update moving this off RT and later in the frame.
- Added FInstanceDataSceneProxy, which is the owner of the scene data buffers and is updated by the manager by way if a shared reference with the primitive proxy.
- Removed FPerInstanceRenderData, ISMC::PerInstanceRenderData
- Removed FInstanceUpdateCmdBuffer
- Lumen, GPUScene, SceneCulling, RT, DF all now retrieve data from FInstanceSceneDataBuffers rather than a mix of previous buffers. All now use the primitive-relative space.
- Geometry Collection & Spline Mesh now manage FInstanceSceneDataBuffers, since they manipulate instance data in one way or another.
- Mass: contained re-implementations of significant internals of ISMC, converted to ID-based interface
- PCG: minor changes to avoid touching ISM internals.
#jira UE-191955,PLAY-11918
#rb jamie.hayes,jeremy.moore,jonathan.bard,krzysztof.narkowicz,mieszko.zielinski,julien.lheureux,zach.bethel,aleksander.netzel,yuriy.odonnell
[CL 28371398 by ola olsson in ue5-main branch]
- Create / Destroy render thread resources is now deferred until scene update and runs async.
- Added bConstrainToRenderThread option to FPrimitiveSceneProxy, which controls whether the scene pipe is used for proxy virtual function calls.
#rb krzysztof.narkowicz, christopher.waters
[CL 27799388 by zach bethel in ue5-main branch]
- RHICreate{Vertex, Index, Structured}Buffer
- RHICreate{ShaderResource, UnorderedAccess}View
- RHIUpdateUniformBuffer
- Various initialization / locking methods for helper buffer types in RHIUtilities.h
The goal is to continue to force resource creation through command lists to avoid surprises with moving things off the render thread.
#rb christopher.waters
[CL 26183242 by zach bethel in ue5-main branch]
- added new runtime field (NumStreamedClusters) to Nanite::FResources
- modified logic in Nanite::FStreamingManager to update number of streamted clusters when pages are installed/uninstalled.
- modified NaniteStreamOut to output number of clusters to be able to check for incorrect count on CPU side.
- On CitySample, peak NaniteRayTracing.StagingAuxiliaryDataBuffer size is reduced from close to 1GB to about 200MB.
#rb rune.stubbe
#preflight 646e3399f85111e06ca30efa
[CL 25607114 by tiago costa in ue5-main branch]
Fix crash in FNaniteGeometryCollectionSceneProxy creation.
Issue seems to have been from bad merge of work in other stream.
#preflight 63f905fac35a141980d6a86c
[CL 24405393 by Jeremy Moore in ue5-main branch]
Fixes crash caused by scene proxy recreating without the required render data update.
#preflight 63efee4713586f2c103e2673
[CL 24295291 by jeremy moore in ue5-main branch]
This is built as part of geometry collection DDC contents.
Reworked scene proxy to use this data. Some big changes there:
* Tidied up hit proxy code so that all hit proxy clients use the same path.
* Removing of internal faces are now handled without an additional index buffer by always storing internal faces at the end of a section and providing different section descriptions for including internal faces.
* Dynamic geometry hiding in editor is now done by zeroing transforms instead of rebuilding the index buffer.
#rb cedric.caillaud
#preflight 63edc2e55c7bd278c11efe51
[CL 24261113 by jeremy moore in ue5-main branch]
* Primitives are only tracked by Lumen scene if they can be traced by the current ray tracing method. E.g. if we use HWRT then only primitives with valid BLAS will generate surface cache.
* Instead of recomputing VisibleInLumenScene on every add/remove/update this flag is now cached on proxy
* Added GPU side filtering of draws which should be skipped when capturing surface cache
#preflight 63dd8637323e7eaa30b71680
#jira UE-176073
#rb Daniel.Wright
[CL 24031439 by krzysztof narkowicz in ue5-main branch]