Commit Graph

333 Commits

Author SHA1 Message Date
Krzysztof Narkowicz
14d02c6809 MeshSDF - implemented a tight bounding box with one voxel margin for bilinear gradient reconstruction. This allowed the MESH_SDF_APPROX_MARGIN hack to be removed and secured all gradient reconstruction operations from reading outside of valid bounds. Also saved ~50% of SDF atlas space, and speed up some mesh SDF operations:
UpdateGlobalDistanceField: ~7% faster
TraceMeshSDFs: ~5% faster

#rb Daniel.Wright, Patrick.Kelly

[CL 14618591 by Krzysztof Narkowicz in ue5-main branch]
2020-10-29 23:43:01 -04:00
Marc Audy
68150e0be7 Merge UE5/Release-Engine-Staging to UE5/Main @ 14611496
This represents UE4/Main @ 14594913

[CL 14612291 by Marc Audy in ue5-main branch]
2020-10-29 13:38:15 -04:00
danny couture
0b151ec30f Deprecate some directly accessible fields in UStaticMesh
#rb Francis.Hurteau

[CL 14606505 by danny couture in ue5-main branch]
2020-10-28 22:08:44 -04:00
Krzysztof Narkowicz
2921126a39 SDF and card rep generation now check for degenerate triangles before adding them to the Embree scene
#rb Daniel.Wright

[CL 14579820 by Krzysztof Narkowicz in ue5-main branch]
2020-10-26 15:07:53 -04:00
Krzysztof Narkowicz
3da3a205fb Added FMeshBuilder::BuildMeshVertexPositions. It replaces FMeshBuilder::BuildMesh(bool bBuildOnlyPosition = true) and does the minimal work which is required to extract vertex positions from a mesh descriptor.
This is later used to build static mesh derived data in cases where Nanite coarse mesh representation replaces original static mesh data and we can't depend on it. In extreme cases it lowers main thread derived data build time from ~7.5s to ~0.1s.

#rb Richard.TalbotWatkin

[CL 14578414 by Krzysztof Narkowicz in ue5-main branch]
2020-10-26 13:09:34 -04:00
Krzysztof Narkowicz
6a3e844487 Mesh distance field generation fixes:
* Fixed section filtering bug causing to generate SDF from random triangles when a single section was filtered out
* Removed plane hack, which was squashing some meshes and causing generation rays to randomly return backface / frontface hits

Tested in FortGPUTestBed and Fornite, but didn't notice any issues introduced by plane hack removal. If something breaks, then anyway we should fix it in the tracing code by improving non uniform SDF scale support there.

#rb Daniel.Wright

[CL 14571736 by Krzysztof Narkowicz in ue5-main branch]
2020-10-25 23:29:54 -04:00
Marc Audy
4c1bb11c29 Merge UE5/Release-Engine-Staging to UE5/Main @ 14548662
This represents UE4/Main @ 14525125 + cherrypicked fixes
#skipundocheck

[CL 14551026 by Marc Audy in ue5-main branch]
2020-10-22 19:19:16 -04:00
danny couture
6e8494009d DistanceField and MeshCards async queues are now reusing existing threadpool instead of spawning their own
DistanceField and MeshCards are not limited anymore to a single thread and can scale to the number of physical cores available
DistanceField and MeshCards are now both limiting their tick time length to avoid huge game-thread stalls when lots of assets are being built
Fix potential race-condition in DistanceFieldAsyncQueue found while fixing MeshCardAsyncQueue

#rb Alexis.Matte

[CL 14420000 by danny couture in ue5-main branch]
2020-10-05 08:22:37 -04:00
Marcus Wassmer
3b81cf8201 Merging using //UE5/Main_to_//UE5/Release-Engine-Staging @14384769
autoresolved files
#rb none

[CL 14384911 by Marcus Wassmer in ue5-main branch]
2020-09-24 00:43:27 -04:00
Krzysztof Narkowicz
5581ebef92 Generate mesh distance fields and Lumen card representation for Nanite meshes directly from the source mesh data. Nanite replaces static mesh data with a coarse mesh representation, which sometimes has holes in it or is not accurate enough. Building from the source data works around that issue and gets up the highest possible SDF/card quality. Unfortunately it also regresses static mesh import times by ~3-5% until we don't get async static mesh builds.
Mesh build numbers for Nanite meshes:
1701216 tris:
Static mesh build: 11.2s
Static mesh build for the SDF async task (added in this CL): 2.3s
Async SDF build: 0.7s
Async card rep build: 0.15s

5524435 tris:
Static mesh build: 36.4s
Static mesh build for the SDF async task: 6.2s
Async SDF build: 1.2s
Async card rep build: 0.5s

1146238 tris
Static mesh build: 10.5s
Static mesh build for the SDF async task: 1.5s
Async SDF build: 0.6s
Async card rep build: 0.1s

#rb Daniel.Wright

[CL 14372405 by Krzysztof Narkowicz in ue5-main branch]
2020-09-22 23:04:05 -04:00
Daniel Wright
97cf839625 Merging //Tasks/UE4/Private-Reverb-Development-Lumen/... to //UE5/Main/...
Contains all work on Lumen since shipping Reverb in March:
 * New Opaque Final Gather with higher quality in clean architecture and better performance
 * Improved global tracing which reduces leaking
 * New basic Reflections pipeline which respects material Roughness
 * New HZB traces that are more accurate at tracing against the depth buffer
 * Hardware Ray Tracing paths for Lumen shadowing and Final Gather
#rb none

[CL 14274844 by Daniel Wright in ue5-main branch]
2020-09-08 17:44:06 -04:00
brooke hubert
48113fc77e Adding EditorFramework to build.cs files
#rnx
#Jira UE-96448
#rb chris.gagnon

[CL 14114839 by brooke hubert in ue5-main branch]
2020-08-14 13:24:16 -04:00
danny couture
9a5d8acdea Add support for adding tasks from multiple threads like distance fields (CL 8571312)
Fix threadpool lifetime management like distance field (CL 10733543)

#rb Francis.Hurteau

[CL 13954301 by danny couture in ue5-main branch]
2020-07-28 09:09:18 -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
brooke hubert
a470770796 Remove deprecated asset editor manager.
#Jira none
#rb lauren.barnes

[CL 13816532 by brooke hubert in ue5-main branch]
2020-07-01 16:35:41 -04:00
Marc Audy
11f5b21210 Merging //UE5/Release-Engine-Staging @ 13752110 to Main (//UE5/Main)
#rnx

[CL 13753156 by Marc Audy in ue5-main branch]
2020-06-23 18:40:00 -04:00
alexis matte
54144a8ab9 Fix alternate skinning
#rb jurre.debaare

#ROBOMERGE-OWNER: alexis.matte
#ROBOMERGE-AUTHOR: alexis.matte
#ROBOMERGE-SOURCE: CL 12974497 via CL 12974666 via CL 12974667
#ROBOMERGE-BOT: RELEASE (Release-Engine-Staging -> Main) (v682-12900288)

[CL 12974686 by alexis matte in Main branch]
2020-04-22 10:41:35 -04:00
bob tellez
015c6a44dd #UE4 Restore message about bone influences being truncated, but lowered verbosity to Display
[FYI] Josie.Yang

#ROBOMERGE-SOURCE: CL 12558941 via CL 12558946 via CL 12560168
#ROBOMERGE-BOT: RELEASE (Release-Engine-Staging -> Main) (v675-12543919)

[CL 12560468 by bob tellez in Main branch]
2020-04-02 14:19:32 -04:00
bob tellez
5ac27ee09c #UE4 Disabled a warning about truncating the number of influences for now.
[FYI] Josie.Yang

#ROBOMERGE-SOURCE: CL 12511451 via CL 12511456 via CL 12511459
#ROBOMERGE-BOT: RELEASE (Release-Engine-Staging -> Main) (v673-12478461)

[CL 12511460 by bob tellez in Main branch]
2020-04-01 17:08:14 -04:00
Jurre deBaare
175b9b31fa Skin weight profiles changes:
- Implemented async GPU readback system to support non-cpu accessible skeletal mesh platforms
- Improved data layout to improve runtime cost, and adapted system to work with new skin weight buffers
- Added object version for new skin weight data layout
- Bumped skeletal mesh DDC key
Misc:
- Fixed logging issue when clamping the number of bone influences
#jira none
#rb Martin.Wilson

[CL 11932811 by Jurre deBaare in Main branch]
2020-03-05 06:52:00 -05:00
danny couture
d933c46f89 All thirdparties are also using latest IntelTBB binaries on all platforms
- Removed all IntelTBB binaries from thirdparties
 - Compiled missing binaries in official IntelTBB folder

Tested on Linux/Mac/Windows

#rnx
#jira UEENT-3378
#rb Jean-Michel.Dignard

#ROBOMERGE-SOURCE: CL 11858075 in //UE4/Release-4.25/... via CL 11858101
#ROBOMERGE-BOT: RELEASE (Release-4.25Plus -> Main) (v656-11643781)

[CL 11858115 by danny couture in Main branch]
2020-03-03 07:24:02 -05:00
alexis matte
16f0a45fba Optimize the polygonshell chunking algorithm
#rb lina.halper
#rnx


#ROBOMERGE-SOURCE: CL 11452152 via CL 11452154
#ROBOMERGE-BOT: (v654-11333218)

[CL 11452155 by alexis matte in Main branch]
2020-02-14 18:37:33 -05:00
Josh Adams
aa9705149b Copying Private-LoadTimes-4.24 stream to Main. Biggest changes are in Materials/Shader memory freezing.
#rb none

[CL 11282608 by Josh Adams in Main branch]
2020-02-06 13:13:41 -05:00
Chris Gagnon
c3f9a18841 Merge from Main in prep for Dev-Tools-Staging Copy up
#rb none

[CL 11221539 by Chris Gagnon in Dev-Tools-Staging branch]
2020-02-04 17:00:31 -05:00
alexis matte
7a5b06e0e8 Downgrade the bone influence per vertex limit warning log to a message log
#rb uriel.doyon
#rnx


#ROBOMERGE-SOURCE: CL 11188721 via CL 11190333 via CL 11190439
#ROBOMERGE-BOT: (v640-11091645)

[CL 11191012 by alexis matte in Main branch]
2020-01-30 20:39:07 -05:00