Commit Graph

1 Commits

Author SHA1 Message Date
Ola Olsson
f6a42df34a Implemented instance culling hierarchy (main feature in SceneCulling.h/cpp) to construct & update a loose hierarchical spatial hash over all scene instances and support for Nanite instance culling based on this.
The feature is disabled by default, and may be considered Beta for the current release.

- Added support for passing an FSceneInstanceCullingQuery to Nanite::IRenderer::DrawGeometry
- Added some more interface (inline) functions to Nanite::IRenderer to help guide the user.
- Implemented FInstanceHierarchyCull_CS to handle the hierarchy culling in the Nanite culling passes.
- Added FInstanceHierarchyAppendUncullable_CS to append "uncullable" instances
- Adapted FCompactViewsVSM_CS to handle view group ranges, use with the new hierarchy
- Moved VirtualShadowMapViews from FSortedShadowMaps to FShadowSceneRenderer (public -> private)

#rb brian.karis,jamie.hayes
#jira UE-147060
#preflight 6448d4961150e908d01f0049

[CL 25194831 by Ola Olsson in ue5-main branch]
2023-04-26 04:02:53 -04:00