- Intermediate step towards making renderer instance-first.
- Enables simplification of instance culling setup.
#rb Krzysztof.Narkowicz
[CL 16729395 by Ola Olsson in ue5-main branch]
- virtual texture mesh lod range can have no intersection with available lods for the mesh
- this resulted in attempted rendering of the mesh lod corresponding to the range max which may not be streamed in
- we now render the highest detail mesh lod streamed in into the VT in this case even if it falls outside the desired range
#rb David.Harvey, Jian.Ru
#jira UE-116401, UE-116589
[CL 16587795 by eric mcdaniel in ue5-main branch]
- added a path to propagate and cache whether material modifies position (WPO) to enable invalidating cached pages (touches whole mesh command pipeline).
- added pixel shader verision of page copying & clearing.
- also added flag for whether cached the mesh draw command supports primitive id (which enables checing this earlier).
#rb andrew.lauritzen,brian.karis,graham.wihlidal,Krzysztof.Narkowicz
#ROBOMERGE-SOURCE: CL 15436539 in //UE5/Release-5.0-EarlyAccess/...
#ROBOMERGE-BOT: STARSHIP (Release-5.0-EarlyAccess -> Main) (v771-15082668)
[CL 15441336 by ola olsson in ue5-main branch]
- dynamic primitive collectors now auto-commit when uploading dynamic primitives, simplifying use.
- fixed shadow stencil passes to properly use GPU-Scene instance culling (and instancing), now using FSimpleMeshDrawCommandPass
- Also move translucency shadow rendering to FSimpleMeshDrawCommandPass
#jira UE-108032
#rb Krzysztof.Narkowicz
#ROBOMERGE-SOURCE: CL 15432971 in //UE5/Release-5.0-EarlyAccess/...
#ROBOMERGE-BOT: STARSHIP (Release-5.0-EarlyAccess -> Main) (v771-15082668)
[CL 15441234 by ola olsson in ue5-main branch]
- Moved the primitive instance registration such that we don't end up with added primitives that have no instance index at GPU-Scene update time
- added calls to InstanceCullingManager and disabled implementation.
- GPU scene can now exists without a FScene instance
#rb graham.wihlidal
#rnx
[CL 15106518 by Ola Olsson in ue5-main branch]
- View / InstancedView uniform buffers are now bound through RDG directly from the FViewInfo, or created on-demand for cases like jitter-free custom depth.
- Removed most of the custom persistent view uniform buffers. Left one in Lumen to be done in a later CL.
- ReflectionCapture uniform buffer is now bound at the RDG pass level.
#rb christopher.waters
[CL 14873982 by zach bethel in ue5-main branch]
- Added step after dynamic primitives are gathered to allocate a range in GPU scene for the dynamic primitives.
- Moved more GPU-Scene functionality to member functions to clean up references to internal data
- Removed the PrimitiveShaderDataBuffer/Texture from FSceneViewState
- Removed OneFramePrimitiveShaderDataBuffer/Texture from FViewInfo
- Encapsulated the collection of dynamic primitive data for upload to avoid uploading twice and prepare for parallel upload.
#rb Krzysztof.Narkowicz,graham.wihlidal
[CL 14785776 by Ola Olsson in ue5-main branch]