Commit Graph

107 Commits

Author SHA1 Message Date
jian ru
cc6f857cb8 Re-enable the new static mesh simplifier
#rb brian.karis
#tests a/b tested on multiple platforms to make sure no perf or memory regression; sanity checked several static meshes to make sure auto calculated screensizes stayed similar

#ROBOMERGE-AUTHOR: jian.ru
#ROBOMERGE-SOURCE: CL 21045756 via CL 21045905 via CL 21045943
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v972-20964824)

[CL 21075377 by jian ru in ue5-main branch]
2022-07-13 13:53:24 -04:00
brian karis
0d8b010e12 Nanite displaced mesh. Added uniform tessellation and displacement.
#rb graham.wihlidal
#preflight 62901dcd74630984fd6763b1

#ROBOMERGE-AUTHOR: brian.karis
#ROBOMERGE-SOURCE: CL 20400905 via CL 20400917 via CL 20400925
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v949-20362246)

[CL 20402444 by brian karis in ue5-main branch]
2022-05-27 20:42:29 -04:00
Brian Karis
79bab683d3 Add spring quadrics
#rb none
#preflight

[CL 19841678 by Brian Karis in ue5-main branch]
2022-04-20 19:40:11 -04:00
brian karis
dc4771ff54 Allow auto screen size for LODs to be over 1. This is required for high poly meshes where simplifying causes only a small deviation.
Change mesh simplifier settings to match closer to what they used to be to prevent large changes in LOD distances from ue4 to ue5.

#rb michal.valient
#jira UE-144622
#preflight 622bf219902b7ca699eb7c53

#ROBOMERGE-AUTHOR: brian.karis
#ROBOMERGE-SOURCE: CL 19378057 in //UE5/Release-5.0/... via CL 19379381
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v926-19321884)

[CL 19379859 by brian karis in ue5-main branch]
2022-03-14 18:40:56 -04: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
brian karis
e838341c86 External edges now handle non-manifold meshes, ie multiple adjacency
Added Moore-Penrose pseudo inverse for solving singular quadrics. Disabled for now.

#rb rune.stubbe

#ROBOMERGE-AUTHOR: brian.karis
#ROBOMERGE-SOURCE: CL 18415437 in //UE5/Release-5.0/... via CL 18415438
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v897-18405271)

[CL 18415441 by brian karis in ue5-release-engine-test branch]
2021-12-08 20:32:07 -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
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
andrew davidson
57beb335f2 Merging //UE5/Dev-LargeWorldCoordinates [at] 17581892 to //UE5/Main
#ROBOMERGE-AUTHOR: andrew.davidson
#ROBOMERGE-SOURCE: CL 17595295 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v871-17566257)

[CL 17595306 by andrew davidson in ue5-release-engine-test branch]
2021-09-22 10:01:48 -04:00
krzysztof narkowicz
74eafb9f84 Replace Nanite coarse proxy mesh constant min number of vertices with a target simplification error and range. This allows it to allocate more triangles towards complex meshes and less towards simple ones, greatly improving complex proxy quality without changing memory budget.
p_construct_wp
Old memory:
410.136MB BLAS
351.786MB StaticMesh Index Memory
290.267MB - StaticMesh Vertex Memory

New memory:
391.319MB  BLAS
357.895MB  StaticMesh Index Memory
291.738MB  StaticMesh Vertex Memory

Coarse mesh build times ~0.19s vs ~0.26s

#rb Brian.Karis
[FYI] Kenzo.Terelst
#preflight 610deeb40ccb8400012b505c

#ROBOMERGE-SOURCE: CL 17094507 via CL 17095865
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v853-17066230)

[CL 17095951 by krzysztof narkowicz in ue5-release-engine-test branch]
2021-08-07 15:49:52 -04:00
rune stubbe
8a9f900ed4 Converted most of Nanite back to float when running with LWC. Fixes various data corruption issues resulting in Nanite crashing with LWC.
#JIRA UE-115577
#rb ola.olsson
[FYI] graham.wihlidal, brian.karis

#ROBOMERGE-SOURCE: CL 16385988 in //UE5/Private-Frosty/...
#ROBOMERGE-BOT: STARSHIP (Private-Frosty -> Main) (v804-16311228)

[CL 16386070 by rune stubbe in ue5-main branch]
2021-05-19 10:55:06 -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
aurel cordonnier
50944fd712 Merge UE5/RES @ 16162155 to UE5/Main
This represents UE4/Main @ 16130047 and Dev-PerfTest @ 16126156

[CL 16163576 by aurel cordonnier in ue5-main branch]
2021-04-29 19:32:06 -04:00
Marc Audy
0cbbc781ca Merge UE5/Release-Engine-Staging @ 15740152 to UE5/Main
This represents UE4/Main @ 15709114

[CL 15740605 by Marc Audy in ue5-main branch]
2021-03-18 15:20:03 -04:00
brian karis
a3197c3b46 Fix for simplifier reducing down to no triangles.
#jira UE-107193

#ROBOMERGE-SOURCE: CL 15480150 in //UE5/Release-5.0-EarlyAccess/...
#ROBOMERGE-BOT: STARSHIP (Release-5.0-EarlyAccess -> Main) (v771-15082668)

[CL 15480179 by brian karis in ue5-main branch]
2021-02-19 19:30:07 -04:00
Brian Karis
d34a9f9ade Fix simplifier crash due to duplicate triangles. There were so many that a single edge collapse removed >100 triangles. Now checks for duplicates after every collapse so they don't accumulate.
#rb none

[CL 14811913 by Brian Karis in ue5-main branch]
2020-11-24 22:27:30 -04:00
Brian Karis
e1dab2c3a9 Fixed Nanite holes which were due to inversion penalty being scale only. When error is zero or near zero like an edge on a flat plane, triangle inversion is also likely and the penality for it doesn't help if it's a scale.
The reason why I switched from bias to scale was to put the penalities in the same relative spectrum of the collapses being considered. Degree should probably still be more like that but for now it's safer to just go back to what this was before.

[CL 14808423 by Brian Karis in ue5-main branch]
2020-11-23 20:45:39 -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
Brian Karis
49538671ac Fix stupid static analysis
#jira UE-95281
#rb none

[CL 14205835 by Brian Karis in ue5-main branch]
2020-08-27 19:57:22 -04:00
Brian Karis
5f646d4836 Fix hashing for 0 == -0
#jira UE-96445
#rb none

[CL 14095142 by Brian Karis in ue5-main branch]
2020-08-12 16:40:17 -04:00
Marc Audy
a7c9001a94 Merging //UE5/Release-Engine-Staging to Main (//UE5/Main) @ 14075166
#rb
#rnx

[CL 14075271 by Marc Audy in ue5-main branch]
2020-08-11 01:36:57 -04:00
Alexis Matte
27186b5ae0 Fix again msvc and clang pragma call, forget the pop :( at the end of file
#jira none
#rb none

[CL 13943033 by Alexis Matte in ue5-main branch]
2020-07-24 17:47:55 -04:00
Alexis Matte
66b442a097 Fix clang build pragma error
#jira none
#fyi brian.karis, michael.daum
#rb none

[CL 13942258 by Alexis Matte in ue5-main branch]
2020-07-24 11:35:34 -04:00
Richard TalbotWatkin
51d4cb3f66 Fully deprecated old MeshDescription APIs.
Prepared direct attribute access for deprecation, preferring use of APIs to access static mesh attributes.
Fixed recently merged Enterprise code to comply with new APIs.
Changed all tools to use triangle-centric iteration where possible.
Added new MeshAttributeArray APIs for querying attribute flags, and added a new Mandatory flag.
Various bug fixes.
#rb Alexis.Matte

[CL 13873755 by Richard TalbotWatkin in ue5-main branch]
2020-07-16 08:23:15 -04:00
Brian Karis
b98ce805c1 Fix for clang 9
#fyi michal.valient

[CL 13857385 by Brian Karis in ue5-main branch]
2020-07-14 17:14:00 -04:00