Commit Graph

9 Commits

Author SHA1 Message Date
graham wihlidal
7f322b7db8 Implemented DDC resource build for NaniteDisplacedMesh, including a stubbed out DisplaceNaniteMesh function that is just passthrough for now. Included exposing some of the static mesh and mesh description utilities to this plugin, and various other refactors.
#rb brian.karis, devin.doucette
[FYI] rune.stubbe, julien.stjean, richard.talbotwatkin
#preflight 62857333614041edb7af27a5

#ROBOMERGE-AUTHOR: graham.wihlidal
#ROBOMERGE-SOURCE: CL 20276443 via CL 20276454 via CL 20276457
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v943-19904690)

[CL 20277150 by graham wihlidal in ue5-main branch]
2022-05-19 03:57:40 -04:00
brian karis
a208fbc50b Changed name on Nanite Proxy mesh to Nanite Fallback mesh.
Changed fallback settings to be largely error based with new property FallbackRelativeError.

Nanite builder will now provide the LOD fallbacks for all autogenerated LOD levels which is far faster than generating them from scratch.

#rb graham.wihlidal
#preflight 61f9e1fe9e4d23cd93b8d556

#ROBOMERGE-AUTHOR: brian.karis
#ROBOMERGE-SOURCE: CL 18820056 in //UE5/Release-5.0/... via CL 18820070 via CL 18822916
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v910-18824042)

[CL 18825066 by brian karis in ue5-main branch]
2022-02-02 08:19:56 -05:00
Robert Millar
0e4c53ebef Fix non-unity build by including StaticMeshResources.h so size of FStaticMeshSection is available everywhere that includes NaniteBuilder.h
#jira none
#rb none
#fyi kenzo.terelst
#robomerge[bot1] Dev-EngineMerge

[CL 17499663 by Robert Millar in ue5-main branch]
2021-09-13 21:05:57 -04:00
kenzo terelst
00c5e43c69 Add support for Nanite coarse mesh streaming (vertex data + BLAS):
- Cook side extra low lod coarse mesh will be created at 1/8th of the original coarse mesh if mesh streaming or editor data is available for the platform
- Nanite static meshes with streamable LODs are registered to a Nanite::CoarseMeshStreamingManager which will handle the stream in/out requests for these assets in fixed memory budget (memory budget is part of the total mesh streaming budget)
- Nanite proxy needs to handle different raytracing proxy LOD indices now for dynamic and cached indices
- What to stream is driven by what's used in the TLAS build - each deferred render pass all used streamable meshes are collected and forwarded to the CoarseMeshStreamingManager
- CoarseMeshStreamingManager is updated after all views are rendered and will make stream in/out requests depending on the TLAS usage
- When LODs of UStaticMeshes renderdata is loaded or unloaded then a rebuild of the cached render data is requested to make sure the correct LOD & RT BLAS is used (to do this the UStaticMeshComponent are registered to the UStaticMesh so a request for rebuild can be made for all the proxies on the scene)

#preflight 612659e872e9eb00010a27d9


#ROBOMERGE-SOURCE: CL 17314263
#ROBOMERGE-BOT: (v861-17282326)

[CL 17315687 by kenzo terelst in ue5-main branch]
2021-08-26 07:30:04 -04:00
Rune Stubbe
dc5e9cb018 Nanite support for geometry collection
The Nanite builder now accepts a set of meshes that will be built into a single resource with a hierarchy root for each input mesh.
Updated runtime code to use this feature for Geometry collection.
Each GC now takes up just a single root page.
Changed geometry collection serialization so Nanite data is now transient similar to how it is transient in RenderData for StaticMesh.
Added bogus serialization functions for parsing and throwing away the old Nanite data, so we don't crash when parsing old files.

#rb brian.karis, graham.wihlidal

[CL 14828108 by Rune Stubbe in ue5-main branch]
2020-12-01 11:18:19 -04:00
Brian Karis
8ad4d4a7cd Fixed determinism in build.
Fixed tangents not being derived resulting in no welding for mip0 of Nanite
Ignore bHasColor from mesh desc and check if any non-white.
Misc clean up

#rb rune.stubbe

[CL 14223322 by Brian Karis in ue5-main branch]
2020-08-31 17:49:41 -04:00
Brian Karis
9c649b520f Variable vertex size support from FMeshlet on. Still hardcoded on input to 2 UVs and no color.
#rb rune.stubbe

[CL 14053574 by Brian Karis in ue5-main branch]
2020-08-06 17:30:32 -04:00
graham wihlidal
1ca1e3c438 Cleaned up numerous hacks when build Nanite geometry from outside the static mesh builder. Further improvements can be made, but a good first step.
#rb none
#fyi brian.karis

[CL 13914585 by graham wihlidal in ue5-main branch]
2020-07-21 17:01:45 -04:00
Michal Valient
95d19f95b1 [REVERB] Merging //UE4/Private-Reverb-Development@13832732
#rb graham.wihlidal, rune.stubbe, brian.karis, andrew.lauritzen, jeff.farris

[CL 13834854 by Michal Valient in ue5-main branch]
2020-07-06 18:58:26 -04:00