Commit Graph

379 Commits

Author SHA1 Message Date
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
krzysztof narkowicz
b2397588bc New Lumen surface cache card generation:
* Generate surfels directly from the triangles instead of relying on ray tracing, to fix coverage issues on some meshes
* Surfels which are inside meshes (surrounded by back faces) or are too close to geometry are discarded
* New surfel clustering algorithm, which inserts one seed after another and tries to iteratively grow clusters in order to find the best set of seeds. Final step is to reset all clusters and grow all simultaneously from previously selected seeds.
* Cluster growing is based on normal, distance and surfel visibility (don�t cluster surfels near geometry first, as it can cause algorithm to be stuck in a local minimum)
* Runtime sampling has strict culling based on the angle and card AABB. Additionally, the tri-planar blending zone was tightened. This improves performance. 0.62-0.5 ms.
* Added various visualizations and CVars for card generation debugging
* Fixed card visibility bug, where card could influence outside of it�s range due to negative shadow map visibility

[FYI] Daniel.Wright, Patrick.Kelly

#ROBOMERGE-SOURCE: CL 16897632 via CL 16916104
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v836-16769935)

[CL 16916378 by krzysztof narkowicz in ue5-release-engine-test branch]
2021-07-21 18:05:08 -04:00
josie yang
dc2a2c1ad3 Fix 2 crashes converting skeletal mesh to static mesh when 'Render Static' is ticked in editor: 1) fail to convert to FSkeletalMeshObjectCPUSkin, 2) access vertex color buffer when it is empty
#jira UE-95205
#rb Dmitriy.Dyomin

#ROBOMERGE-SOURCE: CL 16826853 via CL 16826871
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v836-16769935)

[CL 16826881 by josie yang in ue5-release-engine-test branch]
2021-07-12 12:47:57 -04:00
alexis matte
888f708d3b Allow Physics asset to be a developper module with no dependencecies on any editor module.
#jira UETOOL-3603
#rb richard.talbotwatkin
#preflight 60d1e95f78c3b000010f6005

#ROBOMERGE-SOURCE: CL 16743468 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v835-16672529)

[CL 16743480 by alexis matte in ue5-release-engine-test branch]
2021-06-22 11:13:19 -04:00
matt peters
f2d72d64f7 #jira UE-116728
Workaround embree reading 4 bytes off the end of the shared vertex array.
#b Juan.Canada
#rnx

#ROBOMERGE-SOURCE: CL 16673542 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v835-16672529)

[CL 16673546 by matt peters in ue5-release-engine-test branch]
2021-06-15 10:46:08 -04:00
ben ingram
02a8483152 Fix usage of embree with LWC for mesh distance fields and cards
#jira UE-117476
#rb Krzysztof.Narkowicz

#ROBOMERGE-SOURCE: CL 16624221 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v831-16623017)

[CL 16624232 by ben ingram in ue5-release-engine-test branch]
2021-06-10 11:46:40 -04:00
aurel cordonnier
25a11deeac Merge from Release-Engine-Staging @ 16579919
This represents UE4/Main @ 16579691 and Dev-PerfTest @ 16579576

[CL 16581170 by aurel cordonnier in ue5-release-engine-test branch]
2021-06-07 20:09:45 -04:00
Marc Audy
e80ea6b959 Merge from Release-Engine-Staging @ 16444985
This represents UE4/Main @ 16445039 and Dev-PerfTest @ 16444526

[CL 16445122 by Marc Audy in ue5-release-engine-test branch]
2021-05-25 02:43:26 -04:00
benoit deschenes
417059d4bd Fix build after CL# 16355304 merge
#rb none

[CL 16374136 by benoit deschenes in ue5-release-engine-staging branch]
2021-05-18 15:31:52 -04:00
benoit deschenes
e07fdfa6c1 #jira UE-101813
#rb Alexis.Matte
#ROBOMERGE-OWNER: jeanluc.corenthin
#ROBOMERGE-AUTHOR: benoit.deschenes
#ROBOMERGE-SOURCE: CL 16355304 in //UE4/Release-4.27/... via CL 16355329
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Staging) (v804-16311228)
#ROBOMERGE-CONFLICT manual-merge

[CL 16367637 by benoit deschenes in ue5-release-engine-staging branch]
2021-05-18 11:03:02 -04:00
Andrew Davidson
3ddc3a4da3 Merge up from //UE5/Dev-LargeWorldCoordinates
#rb none

[CL 16211417 by Andrew Davidson in ue5-main branch]
2021-05-05 15:07:25 -04:00
Alexis Matte
b02ddd6c61 Fix the function CreateImportDataFromLODModel and add some automation test to make sure the function is working properly.
#jira none
#rb david.coral

[CL 16061599 by Alexis Matte in ue5-main branch]
2021-04-20 10:56:32 -04:00
Martin Ridgers
040fedf56e Removed external linkage from ComputerLinearVoxelIndex() in two separate modules to prevent monolithic link errors.
#rb trivial
#rnx

[CL 15887029 by Martin Ridgers in ue5-main branch]
2021-04-01 04:59:16 -04:00
daniel wright
b339145bac Fixed Distance Field Streaming on cooked windows
Tested TopazEntry PIE and cooked win64

#ROBOMERGE-SOURCE: CL 15865752 in //UE5/Release-5.0-EarlyAccess/...
#ROBOMERGE-BOT: STARSHIP (Release-5.0-EarlyAccess -> Main) (v786-15839533)

[CL 15865757 by daniel wright in ue5-main branch]
2021-03-30 14:38:12 -04:00
daniel wright
4cb3062eb8 Changed lack of Embree to be a warning, not error log, to not fail DDC build commandlet
#ROBOMERGE-SOURCE: CL 15828365 in //UE5/Release-5.0-EarlyAccess/...
#ROBOMERGE-BOT: STARSHIP (Release-5.0-EarlyAccess -> Main) (v785-15821902)

[CL 15834014 by daniel wright in ue5-main branch]
2021-03-25 18:24:34 -04:00
daniel wright
64d93669a5 Fixed crash cooking when project does not have r.GenerateMeshDistanceFields enabled
#ROBOMERGE-SOURCE: CL 15788010 in //UE5/Release-5.0-EarlyAccess/...
#ROBOMERGE-BOT: STARSHIP (Release-5.0-EarlyAccess -> Main) (v783-15756269)

[CL 15790801 by daniel wright in ue5-main branch]
2021-03-23 22:43:50 -04:00
daniel wright
1a06f03491 Fixed Linux compile error
#ROBOMERGE-SOURCE: CL 15785161 in //UE5/Release-5.0-EarlyAccess/...
#ROBOMERGE-BOT: STARSHIP (Release-5.0-EarlyAccess -> Main) (v783-15756269)

[CL 15790694 by daniel wright in ue5-main branch]
2021-03-23 22:41:24 -04:00
Daniel Wright
697b5b9cf6 Sparse, narrow band, streamed Mesh Signed Distance Fields
* SDFs are now generated, allocated from the atlas and uploaded in 8^3 bricks (7^3 unique data, half voxel padding).
 * Tracing must load the brick index from the indirection table, and only bricks near the surface are stored
 * 3 mips are now generated, with the lowest resolution always loaded and the other 2 streamed
 * SDFs are now G8 narrow band.  Lower resolution mips must be traversed when querying distance to nearest surface far away from the surface
 * The Distance Field Brick Atlas is now stored for each FScene and dynamically resized based on needs with a GPU memcopy
 * Brick atlas uses a 1d pooled allocator which has no fragmentation and greatly reduces packing waste over the 3d allocator
 * Added new indirection for Distance Field Asset data, so that only a single entry needs to be updated when a mip is streamed in or out in scenes with millions of instances
 * Compute shaders operating on distance field instances generate streaming requests, which are async read back to CPU, turned into IO requests, which are polled and when complete uploaded to atlases
 * Any mesh instance inside the Global SDF extent (200m) requests mip1, and at 50m requests mip2
 * Now using a batched compute scatter to upload to the distance field atlas instead of RHIUpdateTexture3d, to bypass alignment restrictions and per-upload overhead
 * Distance Field streaming uses an async task to move Memcpy and IO request overhead off of the Rendering Thread
 * Distance Field Visualization now computes a normal from the SDF gradient and does simple lighting to better visualize the scene representation
 * Increased r.DistanceFields.MaxPerMeshResolution from 128 to 512, to better represent large objects
 * Mesh SDF generation now uses an Embree point query to calculate closest unsigned distance, and then a much smaller set of rays to count backfaces for negative region determination, for a 11x speedup
 * Upgraded mesh utilities to Embree 3.12.2 to get point queries
 * Fixed wrong transform used for SDF normals in Lumen, causing non-uniformly scaled meshes to have incorrect Surface Cache interpolation
 * Fixed Static Mesh materials not getting PostLoaded before SDF build, causing their blend modes to be wrong for the build, which corrupts the DDC.  Also included those blend modes in the DDC key.

Original costs on 1080 GTX (full updates on everything and no screen traces)
10.60ms   UpdateGlobalDistanceField
3.62ms   LumenReflectiveTest.DirectionalLight_1 Shadowmap 1
1.73ms   VoxelizeCards Clipmaps=[0,1,2,3]
0.38ms   TraceCards 1 dispatch 1 groups
0.51ms   TraceCards 1 dispatch 1 groups

Sparse SDF costs
12.06ms   UpdateGlobalDistanceField
4.35ms   LumenReflectiveTest.DirectionalLight_1 Shadowmap 1
2.30ms   VoxelizeCards Clipmaps=[0,1,2,3]
0.69ms   TraceCards 1 dispatch 1 groups
0.77ms   TraceCards 1 dispatch 1 groups

Tested: TopazEntry PC, Reverb PC and PS5, EngineTests, QAGame, Rift, Frosty P_Construct_WP, FortGPUTestbed

#rb Krzysztof.Narkowicz

#ROBOMERGE-OWNER: Daniel.Wright
#ROBOMERGE-AUTHOR: daniel.wright
#ROBOMERGE-SOURCE: CL 15784493 in //UE5/Release-5.0-EarlyAccess/...
#ROBOMERGE-BOT: STARSHIP (Release-5.0-EarlyAccess -> Main) (v783-15756269)
#ROBOMERGE-CONFLICT from-shelf

[CL 15790658 by Daniel Wright in ue5-main branch]
2021-03-23 22:40:05 -04:00