Commit Graph

66 Commits

Author SHA1 Message Date
jack cai
18a03b95ef Optimus: fix a crash caused by anim attribute nodes. It was a bad idea to cache a pointer to an TArray element, which can be invalidated when the array expands in size
#jira none
#rb jeremy.moore
#preflight https://horde.devtools.epicgames.com/job/637acfd5f514e1ded962d3de

[CL 23220812 by jack cai in ue5-main branch]
2022-11-21 10:11:31 -05:00
henrik karlsson
b5164ac775 Fixes to make modules compile with IWYU. We've added to IWYU toolchain so it compiles "orphaned" headers which does not have a owning cpp file. This identified lots of headers that couldn't be compiled by themselves (or if they were to included first)
Change consist of only forward declaration and additional includes

#preflight 63789c1de30d438849c48188
#rb none

[CL 23218412 by henrik karlsson in ue5-main branch]
2022-11-21 03:22:23 -05:00
bryan sefcik
d608130583 Tweaked unity sizes.
#jira
[FYI] joe.kirchoff
#preflight 63757482b6636838283838da

[CL 23172508 by bryan sefcik in ue5-main branch]
2022-11-17 00:29:06 -05:00
jeremy moore
d23310183d Optimus: Return a nullptr from CreateInstance if ComputeFramework is disabled for a platform.
This allows clients to fall back to whatever deformation logic they would use without the deformer graph.

[CL 23157734 by jeremy moore in ue5-main branch]
2022-11-16 13:22:35 -05:00
jeremy moore
2c4d135916 ComputeFramework: Add execution groups so that workloads can be scheduled for different points in the frame.
Added an Immediate execution group which will immediately enqueue the work to the render thread.
Optimus: Use Immediate execution to submit a deformer update when mesh component render state is recreated.
This prevents potential issue with one frame not having any deformerd vertices.

[CL 23147807 by jeremy moore in ue5-main branch]
2022-11-15 19:39:51 -05:00
jeremy moore
4f094418bc Optimus: Add data interface for duplicate vertices.
This is needed for a better recompute normal calculation that doesn't generate seams at UV borders.

[CL 23114482 by jeremy moore in ue5-main branch]
2022-11-13 18:18:01 -05:00
steve robb
125fd0084e Removed explicit template parameters from calls to delegate creation functions.
#rb devin.doucette
#preflight 636416e31052c15f139cbadc

[CL 22968432 by steve robb in ue5-main branch]
2022-11-03 18:01:03 -04:00
henrik karlsson
fa90b399a4 Added includes for future change. This changelist only contains added #include and a couple of empty placeholder files
Tested compiling fortnite, unrealeditor, lyra, qagame with non-unity/pch

#preflight 63635997876630122adeab9f
#rb none

[CL 22958990 by henrik karlsson in ue5-main branch]
2022-11-03 14:18:47 -04:00
Thomas Sarkanen
d9c2b172f7 Skeleton compatibility improvements
Skeleton compatibility is now bi-directional. Specifying a compatible skeleton A -> B now implies B -> A.
Skeleton compatibility is now an editor-only concern. The runtime will attempt to do the 'best it can' via name -> name mappings. Only the editor will prevent assigning incompatible skeletons in (e.g.) asset pickers etc.
Skeleton compatibility checks in editor can now be disabled in the editor preferences (and each asset picker now has a checkbox option in its view settings that allows for quick access to this).

Moves FSkeletonRemapping to its own file (which is now private).
Skeleton remappings are now generated on demand on worker threads just before animation decompression and stored in a registry, guarded by FRWScopeLock for thread-safety.

Fixed some anim BP compiler edge cases where asset references on pins were not getting preloaded correctly, causing skeletons to be erroneously reported as missing.

Exposed the current asset registry filter in SAssetView so that menu extensions can access it (and use it to provide context)

#jira UE-166054
#jira UE-167355
#rb Jurre.deBaare,John.vanderBerg
#preflight 635902602e6690262afa86f9

[CL 22878911 by Thomas Sarkanen in ue5-main branch]
2022-11-01 06:25:59 -04:00
jeremy moore
21aac02105 #jira UE-168385
Fix include order in compute graph kernel building.
Need to have platform.ush before any custom struct declarations, since they use StructuredBuffer syntax which is #define'd from the different native syntax on some platforms.
#preflight 635c1d310053ddfa533bc37b

[CL 22850495 by jeremy moore in ue5-main branch]
2022-10-29 01:53:01 -04:00
halfdan ingvarsson
db4f250ba2 Optimus: Fix copy/paste/duplicate to do a deep copy.
#rb jack.cai
#jira UE-154787, UE-165950
#rnx
#preflight 6358543255077abb3425384d

[CL 22798476 by halfdan ingvarsson in ue5-main branch]
2022-10-26 19:10:13 -04:00
henrik karlsson
4a5e13525d Fixed non-unity non-pch compile errors
#preflight skipped
#rb none

[CL 22788359 by henrik karlsson in ue5-main branch]
2022-10-26 16:22:34 -04:00
henrik karlsson
b5b86c796c This change is a strategical submit for a coming change that removes lots of includes in headers that are included by many files. This change contains adding of includes in files that previously got those includes transitively from other inclkudes
#preflight 6355d4940313c24974b2107b
#rb none

[CL 22783162 by henrik karlsson in ue5-main branch]
2022-10-26 12:57:32 -04:00
Jeremy Moore
feb3be38c4 Fix missing printf format identifier.
#preflight 635828b2446a7f4746f68cc2

[CL 22756753 by Jeremy Moore in ue5-main branch]
2022-10-25 14:24:06 -04:00
jeremy moore
abce97a5bd #jira UE-160885
Optimus: Use a default deformer settings when none has been created.
Tidy up UI names for deformer settings.

[CL 22712151 by jeremy moore in ue5-main branch]
2022-10-22 15:34:58 -04:00
Ryan Kautzman
cb0e0bc9eb Add ComponentToSim transform to JiggleSpring deformer, and 'amount' property that ramps in/out the effect of the deformer, post sim. Add the ability to pass a FTransform to an optimus deformer via Blueprints.
#rb: Jeremy.Moore
#fyi: Joseph.Teran, Yushan.Han
#preflight 6351bd1ccb31f106ce98aa5c

[CL 22673552 by Ryan Kautzman in ue5-main branch]
2022-10-20 17:41:21 -04:00
bryan sefcik
117472780d Fixed include paths.
#jira
#preflight 634ee62fe746026e48eb077e

[CL 22621687 by bryan sefcik in ue5-main branch]
2022-10-19 06:39:08 -04:00
Charles deRousiers
77bc120680 Change mesh deformer to support other component type as primary source.
#rb jeremy.moore
#jira none
#preflight 634f0d22c569571da89ac349

[CL 22618611 by Charles deRousiers in ue5-main branch]
2022-10-19 01:52:39 -04:00
jeremy moore
249bd8e38f #jira UE-166602
Optimus: Fix multiple debug draw contexts.
#preflight 634851b3ad0f7e2f20e9eb38

[CL 22514105 by jeremy moore in ue5-main branch]
2022-10-13 18:31:34 -04:00
jack cai
e217ead37e Optimus: Display an error for unconnected input binding that is a struct to avoid crash
#jira UE-165901

#rb Halfdan.Ingvarsson

#preflight https://horde.devtools.epicgames.com/job/6347bba8f04e6f85055745f7

[CL 22513168 by jack cai in ue5-main branch]
2022-10-13 17:46:06 -04:00
halfdan ingvarsson
a3e01f6d71 Optimus: Use the correct float type for variables that are created with no type specified.
#jira UE-166299
#preflight 633f1919b20780acc1aae6f6
#rb jack.cai
#rnx

[CL 22412616 by halfdan ingvarsson in ue5-main branch]
2022-10-07 19:40:31 -04:00
jack cai
ad9d7f4a71 Deformer graph: added an icon to shader text editor
#jira UE-164821
#rb tbd
#preflight https://horde.devtools.epicgames.com/job/633e6808d910a0768385e85c

[CL 22388844 by jack cai in ue5-main branch]
2022-10-06 20:10:29 -04:00
joe pribele
79a59b000e compile fixes for deprecated TObjectPtr.IsNull
[CL 22388092 by joe pribele in ue5-main branch]
2022-10-06 19:51:45 -04:00
joe pribele
edf171c474 [Plugins] fix for using deprecated TObjectPtr.IsNull
[CL 22388063 by joe pribele in ue5-main branch]
2022-10-06 19:51:09 -04:00
halfdan ingvarsson
3a248e6fe8 Optimus: Prevent a crash when trying to traverse a pin from a deleted node.
#jira UE-165949
#rb jack.cai
#rnx
#preflight 633d0ef24a2cd8f4b27bbfe1

[CL 22362357 by halfdan ingvarsson in ue5-main branch]
2022-10-05 16:09:33 -04:00