Commit Graph

102 Commits

Author SHA1 Message Date
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
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
Richard TalbotWatkin
4884bf9d9a First pass of MeshDescription API and format refactor.
- Removed hardcoded element type arrays (Vertices, Edges, Triangles etc.). Mesh element types can now be arbitrarily added, with any number of channels.
- Mesh element containers have a much leaner format; instead of sparse arrays, they are now represented by a simple bitarray, determining whether an index is used or not. Consequently, mesh topology is now entirely described with the attribute system, e.g. edge start and end vertices, triangle vertices, etc.
- Support added for attributes of arbitrary dimensions, e.g. float[4] or int[2].
- Support added for attributes which index into another mesh element container.
- Added FMeshElementIndexer: this is an efficient container for maintaining backward references from one element type to another; for example, edges have an attribute specifying which vertices are at each end (an attribute of type FVertexID[2]). With an indexer, it is possible to look up which edges contain a given vertex, even though this is not explicitly stored. Indexers are designed to do minimal allocations and update lazily and in batch when necessary.
- Added support for preserving UV topology in static meshes. UVs are now a first-class element type which may be indexed directly from triangles.
- Added the facility to access the underlying array in an attribute array directly.
- Triangles now directly reference their vertex, edge and UV IDs. Vertex instances are to be deprecated.
- Changed various systems to be triangle-centric rather than polygon-centric, as this is faster. Triangles are presumed to be the elementary face type in a MeshDescription, even if polygons are still supported. The concept of polygons will be somewhat shifted to mean a group of triangles which should be treated collectively for editing purposes.
- Optimised normal/tangent generation and FBX import.
- Deprecated EditableMesh, MeshEditor and StaticMeshEditorExtension plugins - these are to be removed, but they still have certain hooks in place which need removing.
#rb

[CL 13568702 by Richard TalbotWatkin in ue5-main branch]
2020-05-28 10:56:57 -04:00
JeanMichel Dignard
84facd6d15 Copy from dev-enterprise cl 11097196
#rb none
#rnx

[CL 11099277 by JeanMichel Dignard in Dev-Tools-Staging branch]
2020-01-23 16:28:59 -05:00
ryan durand
471d972e62 Updating copyright for Engine Developer.
#rnx
#rb none


#ROBOMERGE-SOURCE: CL 10869240 via CL 10869516 via CL 10869902
#ROBOMERGE-BOT: (v613-10869866)

[CL 10870584 by ryan durand in Main branch]
2019-12-26 15:32:37 -05:00
alexis matte
975c886870 Make changing section user data (cast shadow, recompute, enabled...) call posteditchange. This is like the old workflow.
#rb david.hill
#jira UE-81352
#rnx

#ROBOMERGE-SOURCE: CL 9696480 in //UE4/Release-4.24/...
#ROBOMERGE-BOT: RELEASE (Release-4.24 -> Main) (v538-9681622)

[CL 9696534 by alexis matte in Main branch]
2019-10-18 15:42:03 -04:00