Commit Graph

145 Commits

Author SHA1 Message Date
ionut matasaru
a90718a7fb Fixed usage of TRACE_CPUPROFILER_EVENT_SCOPE macro(s) in various places.
Common mistakes:

a) TRACE_CPUPROFILER_EVENT_SCOPE("Foo") or TRACE_CPUPROFILER_EVENT_SCOPE("FClass::Foo")
    --> results in a timer named "Foo" or "FClass::Foo" (the quotes will be included in the name)

b) TRACE_CPUPROFILER_EVENT_SCOPE(TEXT("Foo"))
    --> results in a timer named L"Foo" (L and quotes will be included in the name)

c) TRACE_CPUPROFILER_EVENT_SCOPE_TEXT(TEXT("Other Foo")) or TRACE_CPUPROFILER_EVENT_SCOPE_TEXT("Foo")
    --> Slow! It will use dynamic string matching that adds an unnecessary overhead.

Correct usage:
    TRACE_CPUPROFILER_EVENT_SCOPE(Foo)
    TRACE_CPUPROFILER_EVENT_SCOPE(FClass::Foo)
    TRACE_CPUPROFILER_EVENT_SCOPE_STR("Other Foo") // when timer name has spaces
    TRACE_CPUPROFILER_EVENT_SCOPE_TEXT(*Foo.ToString()) // only if a dynamic name is really needed

#rb Catalin.Dragoiu
#fyi Marc.Audy, Krzysztof.Narkowicz, Rune.Stubbe, Michal.Valient

[CL 15134822 by ionut matasaru in ue5-main branch]
2021-01-19 06:29:15 -04:00
graham wihlidal
de9653ec9f Nanite support for per-instance random and lightmap/shadowmap UV bias.
Removed WorldToLocal from GPUScene packed instance data (now derived) to save 8 bytes (after new fields).
Fixed calculation of Instance.LocalToInstance.

#jira UE-105083
#rb brian.karis
#fyi rune.stubbe

[CL 15076426 by graham wihlidal in ue5-main branch]
2021-01-13 19:51:21 -04:00
graham wihlidal
ee8f378f7b Geometry collection assets created from one or more static meshes will have Nanite automatically enabled now, as long as at least one of the input meshes had Nanite enabled originally.
#rb trivial
#fyi brian.karis, rune.stubbe
#jira UE-104791

[CL 15028299 by graham wihlidal in ue5-main branch]
2021-01-08 20:00:52 -04:00
Marc Audy
bf80889353 UE5/Release-Engine-Staging to UE5/Main
This represents UE4/Main up to CL# 14958402

[CL 15028197 by Marc Audy in ue5-main branch]
2021-01-08 19:56:07 -04:00
Zousar Shaker
fc2ad21a5e Prototype Wrapped Object Pointers (ObjectHandle/ObjectPtr)
Call-site changes for non-scalar wrapped object pointer upgrades in Engine + Shootergame

#rb devin.doucette

[CL 14996467 by Zousar Shaker in ue5-main branch]
2021-01-05 19:16:25 -04:00
Emil Persson
72db809300 Replace legacy LockVertexBuffer()/LockIndexBuffer()/LockStructuredBuffer() calls with the unified LockBuffer()
#rb kenzo.terelst

[CL 14898308 by Emil Persson in ue5-main branch]
2020-12-10 11:51:32 -04:00
brett miller
14431f0507 GeometryCollection -- implemented per bone initial dynamic state in Rest Collection.
FractureEditor -- SetInitialDynamicState tool

#rb none
#jira UESP-3565
#codereview brice.criswell

[CL 14893906 by brett miller in ue5-main branch]
2020-12-09 18:44:07 -04:00
Benn Gallagher
91075c55ce Fixes to geometry collection clusters having misplaced children during mass updates and subsequently having a CoM way outside of their geometry bounds.
#rb Brice.Criswell
#jria none

[CL 14858632 by Benn Gallagher in ue5-main branch]
2020-12-04 16:11:48 -04:00
graham wihlidal
70f838562c Greatly improved error messaging when an invalid material is applied to a Nanite static mesh or geometry collection, so artists can more easily debug what the problem is.
#rb andrew.lauritzen

[CL 14856964 by graham wihlidal in ue5-main branch]
2020-12-04 14:51:23 -04:00
Rune Stubbe
dc5e9cb018 Nanite support for geometry collection
The Nanite builder now accepts a set of meshes that will be built into a single resource with a hierarchy root for each input mesh.
Updated runtime code to use this feature for Geometry collection.
Each GC now takes up just a single root page.
Changed geometry collection serialization so Nanite data is now transient similar to how it is transient in RenderData for StaticMesh.
Added bogus serialization functions for parsing and throwing away the old Nanite data, so we don't crash when parsing old files.

#rb brian.karis, graham.wihlidal

[CL 14828108 by Rune Stubbe in ue5-main branch]
2020-12-01 11:18:19 -04:00
Alexis Matte
73d83c6a38 To protect the skeletalmesh when using async operations like build or re-import we deprecate all public member variables of USkeletalMesh class and create the necessary getter and setter. Those member will stay public but will be move to private in a future release.
Adding a public member to USkeletalMesh class is now prohibed since it can break asynchronous operations that will be added next to this submit.

#rb danny.couture
#jira UEENT-3936
#rnx

[CL 14812920 by Alexis Matte in ue5-main branch]
2020-11-25 11:17:08 -04:00
Jon Nabozny
cf1d1c03c2 Fix initialization order issue in GeometryCollectionObject.
#fyi Brett.Miller
#rb None
#jira None

[CL 14794705 by Jon Nabozny in ue5-main branch]
2020-11-20 01:16:51 -04:00
brett miller
4359cae5c0 GeometryCollection -- Added Apply Changes button to trigger Simulation Data rebuild.
#rb none
#jira none
#fyi brice.criswell

[CL 14794036 by brett miller in ue5-main branch]
2020-11-19 22:01:51 -04:00
Rune Stubbe
df3e21a55f Fix for LZCompression crash when building multiple platforms at once
#rb graham.wihlidal

[CL 14684712 by Rune Stubbe in ue5-main branch]
2020-11-07 07:15:58 -04:00
graham wihlidal
0e876d9805 Fixed Nanite Geometry Collection crashes and incorrect rendering on cooked platforms.
#rb rune.stubbe
#fyi brian.karis, benn.gallagher, michael.lentine

[CL 14638967 by graham wihlidal in ue5-main branch]
2020-11-02 21:12:24 -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
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
Zousar Shaker
77d13185b7 Copying //UE5/Dev-Cooker@14539516 to Main (//UE5/Main)
[CL 14539954 by Zousar Shaker in ue5-main branch]
2020-10-21 17:56:05 -04:00
Rune Stubbe
aa79139e4e Fix for Geometry Collection not registering Nanite meshes with Nanite streamer when using Fracture tool
#jira UESP-3618
#rb graham.wihlidal

[CL 14500224 by Rune Stubbe in ue5-main branch]
2020-10-15 05:19:18 -04:00
graham wihlidal
25bb0676cb Fixed dynamic velocity vectors on non-Nanite geometry collection meshes.
#rb brian.karis
#fyi daniel.wright, devon.penney

[CL 14468546 by graham wihlidal in ue5-main branch]
2020-10-10 00:48:41 -04:00
Marc Audy
50a3d7d368 Merge Release-Engine-Staging to Main @ CL# 14467590
This represents UE4/Main @ 14432125 + some cherrypick fixes

[CL 14468207 by Marc Audy in ue5-main branch]
2020-10-09 22:42:26 -04:00
Richard TalbotWatkin
4a6963147e Removed old modules: EditableMesh, MeshEditor, StaticMeshEditorExtension, BlastPlugin.
Some UV utilities were moved from StaticMeshEditorExtension to DatasmithImporter.
All remaining references to EditableMesh were removed from engine code and plugins with former dependencies.
#rb Jean-Michel.Dignard, Jean-Luc.Corenthin, Michael.Lentine, Bill.Henderson

[CL 14421586 by Richard TalbotWatkin in ue5-main branch]
2020-10-05 12:11:21 -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
roey borsteinas
f41d79e4f5 Visualize Level Instance editing
Applies a post processing effect to all actors which do not belong to the currently editing LevelInstance. Can be toggled with the Viewport show options under visualization.

#rb patrick.enfedaque graham.wihlidal jeremy.moore
#jira none

#ROBOMERGE-OWNER: roey.borsteinas
#ROBOMERGE-AUTHOR: roey.borsteinas
#ROBOMERGE-SOURCE: CL 14322972 in //UE5/Release-5.0-M2/...
#ROBOMERGE-BOT: STARSHIP (Release-5.0-M2 -> Main) (v738-14305781)

[CL 14323217 by roey borsteinas in ue5-main branch]
2020-09-15 17:20:22 -04:00
Ola Olsson
ce3e9181a7 Fix ES editor preview
* Rename IsNaniteEnabled to UseNanite and moved to RenderUtils (so it can be used in Components)
* Make proxy creation respect Scene platform level & consistent with renderer using UseNanite function
* Move DoesPlatformSupportNanite to RenderUtils (so it can be used in UseNanite)
* Fix crash in FMobileSceneRenderer::RenderHitProxies from dummy Nanite raster results
* Make ShadowSetup respect UseNanite to avoid creating virtual shadow maps when these are not supported

#rb rune.stubbe
#fyi brian.karis,graham.wihlidal,andrew.lauritzen
#robomerge Release-5.0-M2

[CL 14308401 by Ola Olsson in ue5-main branch]
2020-09-14 07:52:02 -04:00