Commit Graph

396 Commits

Author SHA1 Message Date
krzysztof narkowicz
31a4f9aecb Lumen - surface cache generation improvements
* 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]
2022-03-10 20:49:33 -05:00
daniel wright
0daeb7fe49 Fixed MeshCards not getting generated when a mesh has DistanceFieldResolutionScale = 0, breaking CitySample HLOD1
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]
2022-03-02 15:19:12 -05:00
krzysztof narkowicz
f38e756567 Lumen - generate surface cache on small elements and decrease min card world space size. No noticeable performance issues in CitySample or Reverb.
#jira none
#lockdown Juan.Canada
#rb Daniel.Wright
#preflight 62194603783beeaf8a0fc2fa

#ROBOMERGE-AUTHOR: krzysztof.narkowicz
#ROBOMERGE-SOURCE: CL 19157447 in //UE5/Release-5.0/... via CL 19159834
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v921-19075845)

[CL 19161485 by krzysztof narkowicz in ue5-main branch]
2022-02-25 19:47:27 -05:00
charles bloom
38b1d2e51f Mark up more ParallelFor scopes for Insights
#rb none
#preflight 6216cd82647bb7debf703367

[CL 19105606 by charles bloom in ue5-main branch]
2022-02-23 19:25:03 -05:00
charles bloom
67ef10a399 mark up most of the ParallelFors used in cook with named scopes for Insights
#rb arne.schober
#preflight none

[CL 18966875 by charles bloom in ue5-main branch]
2022-02-11 19:32:06 -05:00
fred kimberley
7fbfaf57c8 Require explicit constructors/casts when converting between FVector, FVector3d, and FVector3f.
#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]
2022-02-02 07:59:31 -05:00
andrew davidson
3debbbd465 Fix FVector2D variant casts
Submitted on behalf of fred.kimberley
#rb andy.davidson
#preflight 61f8719ea6632a34f35e654b

#ROBOMERGE-AUTHOR: andrew.davidson
#ROBOMERGE-SOURCE: CL 18801709 in //UE5/Release-5.0/... via CL 18802160 via CL 18821533
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v908-18788545)

[CL 18821619 by andrew davidson in ue5-main branch]
2022-02-02 01:45:23 -05:00
andrew davidson
a687bd02ed Merge //UE5/Dev-LWCRendering[at]18755967
LWC: Serialize LWC double types as double. Enable double bulk serialization for all bulk-serializable-as-float LWC types.
#lockdown marc.audy
#rb marc.audy
#preflight 61f83517114ec25fe0ad5f15

#ROBOMERGE-AUTHOR: andrew.davidson
#ROBOMERGE-SOURCE: CL 18795077 in //UE5/Release-5.0/... via CL 18795472 via CL 18797572
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v908-18788545)

[CL 18798048 by andrew davidson in ue5-main branch]
2022-01-31 16:44:37 -05:00
andrew davidson
f089ae83f4 FMatrix explicit cast fixes
#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]
2022-01-27 06:25:37 -05:00
zak middleton
36c99f6887 #ue5 - LWC: FVector4f <-> FVector4d conversion is now explicit.
FLinearColor has also been modified to make any double->float conversions explicit. Previously all 3D TVector versions were allowed to be implicit and thus could convert TVector<double> => FLinearColor => TVector4<float>.

Fixed up all engine and game casts. Added "//LWC_TODO: precision loss" around any explicit casts that previously were silently explicit and we may need to revisit for precision loss analysis.

#jira UE-122085
#rb Ben.Ingram, Andrew.Davidson
#preflight 61f24af473238441cb7bb0f1

#ROBOMERGE-AUTHOR: zak.middleton
#ROBOMERGE-SOURCE: CL 18751249 in //UE5/Release-5.0/... via CL 18751253 via CL 18751319
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v903-18687472)

[CL 18751326 by zak middleton in ue5-main branch]
2022-01-27 03:30:41 -05:00
marc audy
6553e6cd0a Remove as much C++ deprecation as possible up to 4.17 (along with a few scattered removals from beyond)
#preflight 61eefc77ba69a4fdb220bf23

#ROBOMERGE-AUTHOR: marc.audy
#ROBOMERGE-SOURCE: CL 18712765 in //UE5/Release-5.0/... via CL 18712784 via CL 18713147
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v903-18687472)

[CL 18713191 by marc audy in ue5-main branch]
2022-01-24 15:07:48 -05:00
alexis matte
6fb8917a56 Fix a lock issue in CopyStructure, bulkdata are not playing well with thread so I prefer not using them for such small amount of editor data.
Removing them remove the following debug assert in LinkerLoad.h that happen when we copy FSkeletalMeshLODModel structure.

checkSlow(FPlatformTLS::GetCurrentThreadId() == OwnerThread);

It should also prevent a crash with file handle since we cannot lock two different bulk data in separate thread if the two bulk data are store in the same package since they will share a file handle

#jira UE-137959
#rb danny.couture
#rnx
#preflight 61d86521430de36baa5c471f

#ROBOMERGE-OWNER: alexis.matte
#ROBOMERGE-AUTHOR: alexis.matte
#ROBOMERGE-SOURCE: CL 18558758 in //UE5/Release-5.0/... via CL 18558826
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v899-18417669)

[CL 18558834 by alexis matte in ue5-release-engine-test branch]
2022-01-10 08:51:57 -05:00
alexis matte
94f7c4797e [Backout] - CL18545668
[FYI] Alexis.Matte
Original CL Desc
-----------------------------------------------------------------
Fix a lock issue in CopyStructure, bulkdata are not playing well with thread so I prefer not using them for such small amount of editor data.
Removing them remove the following debug assert in LinkerLoad.h that happen when we copy FSkeletalMeshLODModel structure.

checkSlow(FPlatformTLS::GetCurrentThreadId() == OwnerThread);

It should also prevent a crash with file handle since we cannot lock two different bulk data in separate thread if the two bulk data are store in the same package since they will share a file handle

#jira UE-137959
#rb danny.couture
#rnx
#preflight 61d86521430de36baa5c471f

#ROBOMERGE-AUTHOR: alexis.matte
#ROBOMERGE-SOURCE: CL 18548323 in //UE5/Release-5.0/... via CL 18548343
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v899-18417669)

[CL 18548359 by alexis matte in ue5-release-engine-test branch]
2022-01-07 13:37:19 -05:00
alexis matte
3d90733bc5 Fix a lock issue in CopyStructure, bulkdata are not playing well with thread so I prefer not using them for such small amount of editor data.
Removing them remove the following debug assert in LinkerLoad.h that happen when we copy FSkeletalMeshLODModel structure.

checkSlow(FPlatformTLS::GetCurrentThreadId() == OwnerThread);

It should also prevent a crash with file handle since we cannot lock two different bulk data in separate thread if the two bulk data are store in the same package since they will share a file handle

#jira UE-137959
#rb danny.couture
#rnx
#preflight 61d86521430de36baa5c471f

#ROBOMERGE-AUTHOR: alexis.matte
#ROBOMERGE-SOURCE: CL 18545668 in //UE5/Release-5.0/... via CL 18545691
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v899-18417669)

[CL 18545711 by alexis matte in ue5-release-engine-test branch]
2022-01-07 11:33:39 -05:00
krzysztof narkowicz
bbc28ea8b9 Lumen surface cache generation changes in order to fix surface coverage issues
* First mesh is voxelized by tracing rays in every voxel
* Then voxel faces are clustered in parallel to build continuos cards. Clustering follows voxel distance, card ratio, density and other metrics
* Finally a specificied number of cards is selected per mesh (user parameter). This allows to tradeoff between coverage and runtime overhead

Other:
* Added surface cache coverage view mode for debugging coverage issues - r.Lumen.Visualize.Mode 6
* Fixed r.LumenScene.SurfaceCache.CardMinResolution to be able to go below 2

#preflight 61d478acdb0309127dfaf8ec
#rb Daniel.Wright

#ROBOMERGE-AUTHOR: krzysztof.narkowicz
#ROBOMERGE-SOURCE: CL 18519098 in //UE5/Release-5.0/... via CL 18519102
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v899-18417669)

[CL 18519115 by krzysztof narkowicz in ue5-release-engine-test branch]
2022-01-05 10:30:05 -05:00
alexis matte
ac5ce98304 Fix issue with inline reduction and postload usersectiondata correction.
#jira UE-132645
#rb richard.talbotwatkin
#preflight 61bb7a96dc58e54b333fc934
#rnx

#ROBOMERGE-AUTHOR: alexis.matte
#ROBOMERGE-SOURCE: CL 18478217 via CL 18479499 via CL 18479503 via CL 18480103 via CL 18481554
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v899-18417669)

[CL 18481826 by alexis matte in ue5-release-engine-test branch]
2021-12-16 19:57:37 -05:00
Marc Audy
0c3be2b6ad Merge Release-Engine-Staging to Test @ CL# 18240298
[CL 18241953 by Marc Audy in ue5-release-engine-test branch]
2021-11-18 14:37:34 -05:00
aurel cordonnier
fc542f6cfd Merge from Release-Engine-Staging @ 18081189 to Release-Engine-Test
This represents UE4/Main @18073326, Release-5.0 @18081140 and Dev-PerfTest @18045971

[CL 18081471 by aurel cordonnier in ue5-release-engine-test branch]
2021-11-07 23:43:01 -05:00
aurel cordonnier
a6e741e007 Merge from Release-Engine-Staging @ 17915896 to Release-Engine-Test
This represents UE4/Main @17911760, Release-5.0 @17915875 and Dev-PerfTest @17914035

[CL 17918595 by aurel cordonnier in ue5-release-engine-test branch]
2021-10-25 20:05:28 -04:00
krzysztof narkowicz
f0221b15cb Fixed crash (check firing) in Lumen when importing certain meshes. Check was firigin because of LWC automatic FVector type promotion to double, which caused a mismatch between float and double calculations.
#ROBOMERGE-AUTHOR: krzysztof.narkowicz
#ROBOMERGE-SOURCE: CL 17871833 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v883-17842818)
#ROBOMERGE[STARSHIP]: UE5-Release-Engine-Staging Release-5.0

[CL 17871864 by krzysztof narkowicz in ue5-release-engine-test branch]
2021-10-20 08:48:24 -04:00
aurel cordonnier
a12d56ff31 Merge from Release-Engine-Staging @ 17791557 to Release-Engine-Test
This represents UE4/Main @17774255, Release-5.0 @17791557 and Dev-PerfTest @17789485

[CL 17794212 by aurel cordonnier in ue5-release-engine-test branch]
2021-10-12 21:21:22 -04:00
alexis matte
87489e4552 Make sure we use FVector3f in meshutilities
#jira none
#rb richard.talbotwatkin
#rnx
#preflight 61570fad7b2a6200016d5add

#ROBOMERGE-AUTHOR: alexis.matte
#ROBOMERGE-SOURCE: CL 17691969 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v875-17642767)

[CL 17691990 by alexis matte in ue5-release-engine-test branch]
2021-10-01 11:01:19 -04:00
alexis matte
6865ce62e6 Remove original reduction data. Use the source data and the build instead.
#jira UE-123770
#rb richard.talbotwatkin, danny.couture
#rnx
#preflight 614a2277b4b2fb0001a3e833

#ROBOMERGE-AUTHOR: alexis.matte
#ROBOMERGE-SOURCE: CL 17587301 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v871-17566257)

[CL 17587359 by alexis matte in ue5-release-engine-test branch]
2021-09-21 16:06:32 -04:00
josie yang
742d1c2a03 Morph target engine modifications for 3rd party plugin
[FYI] alexis.matte, brian.white, christopher.waters, mihnea.balta, rolando.caloca, will.damon, halfdan.ingvarsson, kevin.ortegren

#ROBOMERGE-AUTHOR: josie.yang
#ROBOMERGE-SOURCE: CL 17444191 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v870-17433530)

[CL 17444481 by josie yang in ue5-release-engine-test branch]
2021-09-07 10:20:14 -04:00
krzysztof narkowicz
368847f1fb Lumen - fixed a bug, where incorrect card direction could be serialized causing an assert to fire at rumtime
#ROBOMERGE-SOURCE: CL 16900162 via CL 16917756
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v836-16769935)

[CL 16917910 by krzysztof narkowicz in ue5-release-engine-test branch]
2021-07-21 19:12:47 -04:00