Commit Graph

95 Commits

Author SHA1 Message Date
Zabir Hoque
9e69df719e Add missing flattened material property enum that was missed when anisotropy was added.
#rb: none
#jira: UE-88708

[CL 11534852 by Zabir Hoque in 4.25 branch]
2020-02-18 21:14:47 -05:00
Rolando Caloca
5b82f15def Copying //UE4/Dev-RenderPlat-Staging@11388153 to //UE4/Main
#rb none
#rnx

[CL 11388545 by Rolando Caloca in Main branch]
2020-02-12 13:27:19 -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
sebastien lussier
ba57adfd4b Edigrating 3 CLs to improve HLOD generation time (faster material baking & mesh merging)
CL 10373564 by danny.couture
Optimize Material Baking (Phase 1)
  - Introduce a mecanism to override the vertex/index buffer allocator used for dynamic meshes
  - Avoid GDynamicMesh non-ticked pools build-up by using our own vertex/index buffer pool during baking
  - Reduce reallocation and incurred soft page faults by reusing a single set of vertex/index buffers big enough for the biggest mesh
  - Preemptively detect if smearing would result in monochrome texture to avoid useless work
  - Shrink smeared monochrome textures during the baking process for huge memory savings
  - Move UV smearing in worker threads to avoid blocking the game thread
  - Required shaders are now built asynchronously
  - Add progress bar for material baking
  - 28m23 [at] 150 GB RAM -> 2m14s [at] 45 GB RAM for 6 channels [at] 512x512 when baking materials on ProxyLOD for DATASET-0008a with DDC empty
#rb Jurre.deBaare, Sebastien.Lussier

CL 10516258 by danny.couture
Optimize Material Baking (Phase 2)
  - Implement pipelining with staging buffers to avoid GPU stalls when reading from render targets
  - Reuse the same prepared FMeshBatch instead of rebuilding it for each draw pass
  - Prepare the RenderItem in advance on other threads to reduce work on the game thread
  - Move the staging surface copy out of the render thread
  - Small vertex and index buffers are not reused to avoid dependency locks when mapping them
  - Fix bug in Canvas Flush_RenderThread found while running HLOD rebuild commandlet on Fortnite
  - Delete old and unused MaterialBakingModule.h from public files
  - 4m44s -> 59s for baking 6 channel [at] 1024x1024 when baking materials on ProxyLOD for DATASET-0008a with shaders already compiled
  - Time spent in Material Baking when rebuilding all HLOD on Apollo_POI_Large_HLOD (Phase 1 + 2 combined)
     - 10m18s -> 2m36s for a first rebuild all in editor with no shaders in DDC (cold)
     - 1m23s   -> 20s for a second rebuild all in editor (warm)
#rb Jeremy.Moore, Sebastien.Lussier

CL 11135986 by sebastien.lussier
Optimized mesh merging
* Added DeletePolygons() & DeleteTriangles methods to FMeshDescription which rely on TSets<> instead of performing costly TArray::AddUnique() calls()
* Parallelized UV generation and avoided duplicate processing of the same mesh+lod pairs
* Optimized FMeshDescriptionOperations::GenerateUniqueUVsForStaticMesh()
* Goes from 100s to 10s in my test case
#rb danny.couture, jeanfrancois.dube, richard.talbotwatkin



#ROBOMERGE-OWNER: sebastien.lussier
#ROBOMERGE-AUTHOR: sebastien.lussier
#ROBOMERGE-SOURCE: CL 11206337 via CL 11206341 via CL 11206346
#ROBOMERGE-BOT: (v643-11205221)

[CL 11206493 by sebastien lussier in Main branch]
2020-02-03 11:08:35 -05: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
Juan Canada
f396f56a0b Merging //UE4/Dev-Main@11042002 to Dev-RenderPlat-Staging(//UE4/Dev-Rendering)
#rnx
#rb none

[CL 11075443 by Juan Canada in Dev-RenderPlat-Staging branch]
2020-01-21 14:54:20 -05:00
Juan Canada
2ecf4f9708 Merging //UE4/Dev-Main@10877709 to Dev-RenderPlat-Staging(//UE4/Dev-Rendering)
#rnx
#rb none

[CL 10895568 by Juan Canada in Dev-RenderPlat-Staging branch]
2020-01-07 13:45:01 -05:00
alexis matte
56b70834bb Fix crash when merging staticmesh and using CreateMeshMerge option.
#jira UE-86183
#rb sebastien.lussier
#rnx
#lockdown cristina.riveron

#ROBOMERGE-SOURCE: CL 10883815 in //UE4/Release-4.24/...
#ROBOMERGE-BOT: RELEASE (Release-4.24 -> Main) (v626-10872990)

[CL 10883816 by alexis matte in Main branch]
2020-01-06 16:10:00 -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
sebastien lussier
f1fae07ce6 Revert changes to make baked MRS textures !srgb... More work needed to ensure fidelity with the original meshes
[FYI] bryce.lumpkin


#ROBOMERGE-SOURCE: CL 10453209 via CL 10453213 via CL 10453225
#ROBOMERGE-BOT: (v595-10452236)

[CL 10453236 by sebastien lussier in Main branch]
2019-11-26 11:10:45 -05:00
jeanluc corenthin
1f438f8396 Fixed crash when 'merge actors' tries to create a mesh which name is already used by another type of asset
#jira UE-83445
#rb sebastien.luissier,alexis.matte
#rnx
#lockdown cristina.riveron

#ROBOMERGE-SOURCE: CL 10114966 in //UE4/Release-4.23/...
#ROBOMERGE-BOT: RELEASE (Release-4.23 -> Main) (v587-10111126)

[CL 10114967 by jeanluc corenthin in Main branch]
2019-11-12 14:38:01 -05:00
sebastien lussier
71f9cabc36 #jira UE-78593, UE-75104
HLOD - Baked Emissive textures do not have sRGB checked
HLOD - Baked gray-scale/mask textures (Rough/Metal/Spec/Opacity) use sRGB=True


#ROBOMERGE-SOURCE: CL 10082362 via CL 10082363 via CL 10082364 via CL 10082365
#ROBOMERGE-BOT: (v574-10069753)

[CL 10082594 by sebastien lussier in Main branch]
2019-11-08 09:59:31 -05:00
sebastien lussier
3167054276 HLOD - Meshes marked as useMaxLODAsImposter have an offset in medium HLODs
Fixed mesh pivot point offset not being applied in this specific case
#rb patrick.enfedaque


#ROBOMERGE-SOURCE: CL 10056720 via CL 10057694 via CL 10057717 via CL 10057792
#ROBOMERGE-BOT: (v566-10053404)

[CL 10057904 by sebastien lussier in Main branch]
2019-11-06 13:04:18 -05:00
Alexis Matte
c97c681a9f Fix skeletalmesh bake material crash, and incorrect ID remapping.
#jira UE-83204
#jira UE-83216
#rb benoit.deschenes

[CL 10056841 by Alexis Matte in Main branch]
2019-11-06 12:11:28 -05:00
rex hill
62bc081d51 Brought over changes related to Tool Menus
#rnx
#rb none


#ROBOMERGE-OWNER: rex.hill
#ROBOMERGE-AUTHOR: rex.hill
#ROBOMERGE-SOURCE: CL 9968254 via CL 9968365
#ROBOMERGE-BOT: (v560-9963197)

[CL 9969240 by rex hill in Main branch]
2019-11-04 12:21:36 -05:00
Sebastien Lussier
cd750ce23f #jira UE-82185, UE-82545
HLOD useLODAImposter seems to not copy over all UV channels
Mesh merging code was assuming the UV2 & UV3 channels were free to use to store position & scale of imposter instances.
This behavior seems to have been hacked in the engine for an internal project & is not needed anymore since it's now possible to use instanced static meshes with LODActors
Still kept old behavior around (CVar) in case someone would really need it
#rb patrick.enfedaque

[CL 9868123 by Sebastien Lussier in Main branch]
2019-10-28 07:45:29 -04:00
Laz Matech
72f6e33bd6 Back out changelist 9845167
Attempted to resolve merge conflict for CL 9844036 Robomerge, it caused compilation errors

#rb Jake.Romigh
#fyi sebastien.lussier

[CL 9845666 by Laz Matech in Main branch]
2019-10-25 19:58:34 -04:00
laz matech
1e0c51a8f4 #rb Jake.Romigh
#jira UE-82185
HLOD useLODAImposter seems to not copy over all UV channels
Mesh merging code was assuming the UV2 & UV3 channels were free to use to store position & scale of imposter instances.
This behavior seems to have been hacked in the engine for an internal project & is not needed anymore since it's now possible to use instanced static meshes with LODActors
Still kept old behavior around (CVar) in case someone would really need it
#patrick.enfedaque
[FYI] bryce.lumpkin


#ROBOMERGE-OWNER: laz.matech
#ROBOMERGE-AUTHOR: sebastien.lussier
#ROBOMERGE-SOURCE: CL 9843087 via CL 9843965 via CL 9844036
#ROBOMERGE-BOT: (v548-9842178)

[CL 9845167 by laz matech in Main branch]
2019-10-25 19:23:58 -04:00
JeanMichel Dignard
d4f0f4d3f2 Copying //UE4/Dev-Enterprise @ cl 9420543 to Dev-Main (//UE4/Dev-Main)
#rb none

[CL 9420574 by JeanMichel Dignard in Main branch]
2019-10-04 13:11:45 -04:00
Chris Gagnon
8ab0638182 Copying //UE4/Dev-Editor to Dev-Main (//UE4/Dev-Main) for 4.24
#rb none

[CL 9325047 by Chris Gagnon in Main branch]
2019-10-01 20:41:42 -04:00
jon nabozny
6b60663f39 Update Engine and Plugins to use the new Getters / Setters for UActorComponent, USceneComponent, and AActor replicated properties
[at]Ryan.Gerleve, [at]Brian.Bekich
#rb None


#ROBOMERGE-OWNER: jon.nabozny
#ROBOMERGE-AUTHOR: jon.nabozny
#ROBOMERGE-SOURCE: CL 9290108 via CL 9290249
#ROBOMERGE-BOT: (v452-9288972)

[CL 9290520 by jon nabozny in Main branch]
2019-09-29 16:49:10 -04:00
sebastien lussier
21447d2bd7 Do not exclude static mesh subclasses from the mesh merge process
#ROBOMERGE-SOURCE: CL 9152055 via CL 9152079 via CL 9152095
#ROBOMERGE-BOT: (v443-9013191)

[CL 9152099 by sebastien lussier in Main branch]
2019-09-26 13:09:15 -04:00
sebastien lussier
6f9d431e83 Fixed merged meshes having wrong material mapping
#jira UE-80604


#ROBOMERGE-SOURCE: CL 8934573 via CL 8934580 via CL 8934591
#ROBOMERGE-BOT: (v435-8929571)

[CL 8934596 by sebastien lussier in Main branch]
2019-09-20 15:47:52 -04:00
Chris Gagnon
2e87118a18 Copying //UE4/Dev-Editor to Dev-Main (//UE4/Dev-Main) Interim 4.24.
#rb none

[CL 8614014 by Chris Gagnon in Main branch]
2019-09-10 11:35:20 -04:00
sebastien lussier
9462f6b7ac HLOD building crashes when building
Cherrypicked CL8214461 from Dev-Enterprise
#jira UE-79203


#ROBOMERGE-SOURCE: CL 8224679 via CL 8230150
#ROBOMERGE-BOT: (v401-8057353)

[CL 8230887 by sebastien lussier in Main branch]
2019-08-23 12:08:39 -04:00