If hit lighting and refraction is not enabled, translucent meshes will be skipped, and translucent cards part of composed meshes won't be won't be dispatched.
#rb Krzysztof.Narkowicz
[CL 29507890 by sebastien hillaire in ue5-main branch]
Only leaving CL 26157603 reverted since accessing GenerateSource in FDistanceFieldVolumeData::CacheDerivedData is not safe due to async mesh compilation.
#prelight 64948190a26e02126bc0a64f
#rb Krzysztof.Narkowicz
[CL 26206875 by tiago costa in ue5-main branch]
[FYI] tiago.costa
Original CL Desc
-----------------------------------------------------------------
Use FSignedDistanceFieldBuildSectionData when generating distance fields for Nanite meshes.
Context:
- Nanite meshes distance fields are generated using the original mesh data instead of the coarse representation generated by Nanite, however that code path was not checking section data such as blend mode, two sided, etc.
Fix:
- Modified FStaticMeshBuilder::BuildMeshVertexPositions(...) to also output a FStaticMeshSectionArray.
- Updated MeshRepresentation::SetupEmbreeScene(...) to check section flags when using SourceMeshData.IsValid() code path.
#prelight
#rb Krzysztof.Narkowicz
[CL 26174853 by bob tellez in ue5-main branch]
- Different mesh sections can point to the same material slot which was a problem since bAffectDistanceFieldLighting flag can be set per section but we were using an array with an entry per material slot instead of per section.
- To address this now we build array of FSignedDistanceFieldBuildSectionData (one entry per section) so section don't override each other.
#prelight 64921d9ab76bf403cda2f33f
#rb daniel.wright
[CL 26137888 by tiago costa in ue5-main branch]
* Card sampling with squared weights instead of cutoff in order to allow surface to leak into tiny areas without coverage
* Bump min static mesh LOD to reduce mismatches between surface cache and geometry
Card placement:
* Move near plane back outside of mesh bounds during capture in order to handle displacement mismatches
* Discard surfels seeing triangle back faces only when sky isn't visible
* New additive card placement, which can be used for continuous LOD. Instead of clustering, it tries to find the best split plane until the entire surface isn't covered.
* Lower voxel and min card size to be able to cover smaller areas and place more cards
* Spawn multiple surfels per cell if they cannot be merged
* Fixed surfel generation and card size
#ROBOMERGE-OWNER: krzysztof.narkowicz
#ROBOMERGE-AUTHOR: krzysztof.narkowicz
#ROBOMERGE-SOURCE: CL 21089854 via CL 21089869 via CL 21089871
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v972-20964824)
[CL 21096306 by krzysztof narkowicz in ue5-main branch]
* Card sampling with squared weights instead of cutoff in order to allow surface to leak into tiny areas without coverage
* Bump min static mesh LOD to reduce mismatches between surface cache and geometry
Card placement:
* Move near plane back outside of mesh bounds during capture in order to handle displacement mismatches
* New additive card placement, which can be used for continuous LOD. Instead of clustering, it tries to find the best split plane until the entire surface isn't covered.
* Lower voxel and min card size to be able to cover smaller areas and place more cards
* Spawn multiple surfels per cell if they cannot be merged
* Fixed surfel generation and card size
#ROBOMERGE-AUTHOR: krzysztof.narkowicz
#ROBOMERGE-SOURCE: CL 21078868 via CL 21078893 via CL 21079371
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v972-20964824)
[CL 21082291 by krzysztof narkowicz in ue5-main branch]
- The number of samples returned is the square number closer to the requested number.
- Updated code paths using the function to request a number of samples close to what they previously got.
#rb Krzysztof.Narkowicz
#preflight 628de9e7f622d972b5732cbb
#ROBOMERGE-AUTHOR: tiago.costa
#ROBOMERGE-SOURCE: CL 20361675 via CL 20361695 via CL 20361702
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v948-20297126)
[CL 20362041 by tiago costa in ue5-main branch]
#ROBOMERGE-AUTHOR: krzysztof.narkowicz
#ROBOMERGE-SOURCE: CL 20082848 via CL 20083225 via CL 20083623
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v943-19904690)
[CL 20106592 by krzysztof narkowicz in ue5-main branch]
* Mostly two sided meshes are assumed to be foliage and forced to be repsented as a cube projection
* Lowered card min density treshold for cube projections
[FYI] Daniel.Wright
#ROBOMERGE-AUTHOR: krzysztof.narkowicz
#ROBOMERGE-SOURCE: CL 19424752 via CL 19424760
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v930-19419903)
[CL 19425489 by krzysztof narkowicz in ue5-main branch]
* Added r.MeshCardRepresentation.Debug for surface cache debugging. It skips DDC reads and writes, allows to regenerate per static mesh on demand and appends extra debug visualization data to every generated mapping
* Surfels are now weighted by opacity - ratio of rays which hit in a given cell, and by visibility - how many rays can hit a given Surfel from outside the mesh. This helps to select most important surfaces to cover when hitting limits
* Removed distance constraint. It�s no longer needed when card discontinuities are already handled inside the surface cache sampling code. This allows to generate larger and more optimal cards
* Limit max number of surfels to prevent generation time from exploding, as dense two sided meshes like large trees can generate many more surfels than simple walls
[FYI] Daniel.Wright
#ROBOMERGE-AUTHOR: krzysztof.narkowicz
#ROBOMERGE-SOURCE: CL 19304117 via CL 19304128
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v926-19321884)
[CL 19346860 by krzysztof narkowicz in ue5-main branch]
Instead of clearing RadiosityAtlas and skipping Radiosity when switching Lumen to SWRT, voxelize the direct lighting that's been calculated so far and keep the existing Radiosity atlas
#preflight 621f057e257fd6e099457e56
#jira UE-144367
#rb Krzysztof.Narkowicz
#lockdown Juan.Canada
#ROBOMERGE-AUTHOR: daniel.wright
#ROBOMERGE-SOURCE: CL 19219209 in //UE5/Release-5.0/... via CL 19219356
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v921-19075845)
[CL 19227351 by daniel wright in ue5-main branch]
#jira UE-122078
#rb Andrew.Davidson, Colin.McGinley
#preflight standard build
#ROBOMERGE-AUTHOR: fred.kimberley
#ROBOMERGE-SOURCE: CL 18817999 in //UE5/Release-5.0/... via CL 18818012 via CL 18822871
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v910-18824042)
[CL 18824721 by fred kimberley in ue5-main branch]
#preflight 61f277cbaf74b68515c0bd64
#ROBOMERGE-AUTHOR: andrew.davidson
#ROBOMERGE-SOURCE: CL 18751911 in //UE5/Release-5.0/... via CL 18751924 via CL 18752067
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v903-18687472)
[CL 18752076 by andrew davidson in ue5-main branch]