Commit Graph

54 Commits

Author SHA1 Message Date
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
aditya ravichandran
bd94fc3c31 Move the ADynamicMeshActor Outliner filter from ModelingTools to GeometryFramework
#rb Jimmy.Andrews
#preflight 63640d705c51adc95f994f01

[CL 22969748 by aditya ravichandran in ue5-main branch]
2022-11-03 18:43:01 -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
ryan schmidt
c10ece84e8 fix Geometry Script function SetMeshSelectionVertexColor so that it works even if mesh does not have vertex colors defined. Fix DynamicMeshComponent ConstantColor override, the override was ignored if the mesh had vertex colors defined.
#rb none
#preflight 634a23b9a8717e9453042b08

[CL 22549055 by ryan schmidt in ue5-main branch]
2022-10-15 13:03:38 -04:00
marc audy
311f7464bf Updated ../Engine/Source/Runtime/... to inline gen.cpp files
Before:
3648 unity files
Total CPU Time: 47886.140625 s
Total time in Parallel executor: 498.81 seconds

After:
3548 unity files
Total CPU Time: 46643.828125 s
Total time in Parallel executor: 486.06 seconds

#jira
#preflight

[CL 22173263 by marc audy in ue5-main branch]
2022-09-24 13:57:58 -04:00
ryan schmidt
b4277b76a6 GeometryFramework: make BaseDynamicMeshSceneProxy support Visible in Ray Tracing flag. However this does not override the Component-specific Enable Raytracing flag.
#rb jimmy.andrews
#preflight 632a3069331ace46b52c3af9
#jira UE-164562

[CL 22118807 by ryan schmidt in ue5-main branch]
2022-09-21 14:37:40 -04:00
ryan schmidt
2570102ec2 Various improvements to (Generated)DynamicMeshActor. Harden registration/unregistration of GeneratedDynamicMeshActor with GeometryGen Subsystem, to avoid recomputing procedural mesh blueprints in objects duplicated for PIE and other temporary object copies. Add support for built-in "frozen" flag on GeneratedDynamicMeshActor, when toggled on, OnRebuildGeneratedMesh event will not be fired (ie mesh is "frozen" in it's current state). Add ability for GeneratedDynamicMeshActor to start a SlowTask dialog during long mesh recomputes, and provide a few functions that a BP can use to update the progress.
#rb jimmy.andrews
#preflight 6323576b63312bbbbb06fa21
#jira UE-155683

[CL 22041549 by ryan schmidt in ue5-main branch]
2022-09-15 19:35:13 -04:00
ryan schmidt
8d14434442 GeometryFramework: filter out degenerate triangles when building complex collision mesh for DynamicMeshComponent
#rb jimmy.andrews
#preflight 631a5b1ef448dc6e58c3616b
#jira UE-163312

[CL 21920542 by ryan schmidt in ue5-main branch]
2022-09-09 10:37:31 -04:00
Jimmy Andrews
e6012a7e65 handle negative scales in UDynamicMeshComponent::ApplyTransform
#rb david.hill
#rb tyson.brochu
#preflight 6309163ced56f9e6dbe4a983

[CL 21602611 by Jimmy Andrews in ue5-main branch]
2022-08-26 20:00:00 -04:00
Ryan Schmidt
d3f24c0f04 GeometryFramework: harden handling of an empty material set in MeshRenderDecomposition
ModelingTools: prevent user from accepting EditMeshMaterialsTool with an empty material set
#rb david.hill
#preflight 6306766f0061f895d04b867c
#jira UE-156197

[CL 21550728 by Ryan Schmidt in ue5-main branch]
2022-08-24 16:13:55 -04:00
Bryan sefcik
b4a6e947d8 Ran IWYU on Public headers under Engine/Source/Runtime/...
Headers are updated to contain any missing #includes needed to compile and #includes are sorted.  Nothing is removed.

#ushell-cherrypick of 21065896 by bryan.sefcik
#preflight 62d4b1a5a6141b6adfb0c892
#jira

#ROBOMERGE-OWNER: Bryan.sefcik
#ROBOMERGE-AUTHOR: bryan.sefcik
#ROBOMERGE-SOURCE: CL 21150156 via CL 21151754 via CL 21154719
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v972-20964824)
#ROBOMERGE-CONFLICT from-shelf

[CL 21181076 by Bryan sefcik in ue5-main branch]
2022-07-20 11:31:36 -04:00
Ryan Schmidt
986547914e Move GeometrySelection.h and GeometrySelectionUtil.h to GeometryProcessing plugin. Move types in GeometrySelection.h into UE::Geometry:: namespace. Fix up usage sites.
#rb none
#preflight 62d1c7222e3e5993c351a126

[CL 21117964 by Ryan Schmidt in ue5-main branch]
2022-07-15 17:53:52 -04:00
Ryan Schmidt
a53b305a46 GeometryFramework: add to UDynamicMeshComponent::SetTransientDeferCollisionUpdates function and flag. This transient setting allows C++ code (eg like code that implements a live 3D transform of mesh vertices) to temporarily disable collision re-generation without modifying the serialized UProperty.
#rb none
#preflight 62bb4294101ad5bf64b0ffac

[CL 20862135 by Ryan Schmidt in ue5-main branch]
2022-06-28 14:14:26 -04:00
Ryan Schmidt
36447f07ae GeometryFramework: add support for fast vertex-buffer-only updates in UDynamicMeshComponent::OnMeshObjectChanged(), if the posted change type is a vertex deformation.
#rb jimmy.andrews
#preflight 62b12cc5e0147b875347232d

[CL 20750724 by Ryan Schmidt in ue5-main branch]
2022-06-20 22:42:51 -04:00
Ryan Schmidt
422c289493 GeometryFramework: add support for configuring color and normal overrides on BaseDynamicMeshComponent & DynamicMeshComponent. This allows the user to configure a DynamicMeshComponent to display vertex colors, group colors, or a (configurable) custom color, as well as facet normals, in the Actor properties.
A new lit vertex color material is added and used if the ModelingComponents module is loaded (to avoid adding a new engine material, if only GeometryFramework is loaded, then the engine-default vertex color material is used). This class-wide vertex color material can be overridden via UBaseDynamicMeshComponent::SetDefaultVertexColorMaterial()

Facet Normals / Flat Shading is now separately configurable, this overrides the normals at the vertexbuffer setup level, so it works independently of material.

Support also added for configuring the wireframe material used for BaseDynamicMeshComponent, and also for setting the wireframe color.

#preflight 62aa2330a40a4dc3a04052c6
#rb tyson.brochu

[CL 20676782 by Ryan Schmidt in ue5-main branch]
2022-06-15 16:49:13 -04:00
Jeremy Moore
ff967b1163 Remove PRIMITIVE_SCENE_DATA_FLAG_DRAWS_VELOCITY and only use PRIMITIVE_SCENE_DATA_FLAG_OUTPUT_VELOCITY.
Tidy up use of FPrimitiveSceneProxy velocity getters.
Now DrawsVelocity() is only for velocity relevance.
And HasDynamicTransform() is for determining if we need to store previous transform state.
VSM caching was using PRIMITIVE_SCENE_DATA_FLAG_DRAWS_VELOCITY so replaced that with PRIMITIVE_SCENE_DATA_FLAG_SHOULD_CACHE_SHADOW which should use the old behavior and can be tweaked in future using ShouldCacheShadow().

A common pattern for determining whether to output velocity now is to check if a previous transform exists, and to OR in AlwaysHasVelocity().
I found some proxy types that don't check for previous transform.
Also I found that the debug physics aggregate types *never* check for previous transform.
These are pre-existing potential bugs for fixing in another pass.

Also I found some proxies that don't currently fill out velocity relevance.
These are pre-existing potential bugs for fixing in another pass.

#preflight 62863f789016c6dd897f1cd2
#fyi andrew.lauritzen

[CL 20279797 by Jeremy Moore in ue5-main branch]
2022-05-19 10:08:15 -04:00
Yuriy ODonnell
49e1679b77 Remove few unnecessary includes from BaseDynamicMeshSceneProxy.h
#rb none (trivial)
#preflight 627138b2cb7b2a06138a0c75

[CL 20025424 by Yuriy ODonnell in ue5-main branch]
2022-05-03 10:31:45 -04:00
Yuriy ODonnell
1cee85ad1e Move implementations of FBaseDynamicMeshSceneProxy virtual methods from a public header to a private .cpp file
#rb Christopher.Waters
#preflight 62705226220f89f0ad57aa29

[CL 20017815 by Yuriy ODonnell in ue5-main branch]
2022-05-02 19:01:55 -04:00
christopher waters
3b626d4efc Minor dependency cleanup in ComponentSourceInterfaces.h
#jira none
#rb josh.adams
#preflight 6233619b84667926da279199

[CL 19424614 by christopher waters in ue5-main branch]
2022-03-17 14:59:48 -04:00
sebastien hillaire
54cbaa476f Real time sky light capture does not accept dynamic draws. This is made clear to avoid crashes.
#rb krzysztof.Narkowicz
#jira https://jira.it.epicgames.com/browse/UE-145490
#preflight https://horde.devtools.epicgames.com/job/622f2dec505788e09ffb416b

#ROBOMERGE-AUTHOR: sebastien.hillaire
#ROBOMERGE-SOURCE: CL 19373077 in //UE5/Release-5.0/... via CL 19376179
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v926-19321884)

[CL 19376915 by sebastien hillaire in ue5-main branch]
2022-03-14 15:31:21 -04:00
Jimmy Andrews
85aa3a058b Add an async physics build for dynamic mesh component
To support this, adds an AggGeom to the dynamic mesh component, which collision update functions should update instead of the one on the current BodySetup. This ensures new collision changes are not overwritten by an async build replacing the BodySetup.

#rb rinat.abdrashitov
#rb ryan.schmidt
#preflight 622c179f902b7ca699efb24a

[CL 19366917 by Jimmy Andrews in ue5-main branch]
2022-03-11 23:38:07 -05:00
ryan schmidt
3d69daa9d2 ModelingComponents: disable DynamicMeshComponent in realtime sky capture by default. Results in crash in 5.0.
#rb semion.piskarev
#preflight 622a4b40611f10dd07b68895
#jira UE-145360
#lockdown simon.tourangeau
#rnx

#ROBOMERGE-AUTHOR: ryan.schmidt
#ROBOMERGE-SOURCE: CL 19340611 in //UE5/Release-5.0/... via CL 19349020
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v926-19321884)

[CL 19349511 by ryan schmidt in ue5-main branch]
2022-03-11 00:36:19 -05:00
lonnie li
5d135d0aa8 ModelingTools: Fixed race condition when setting override render material on preview mesh in BakeTexture & BakeAll.
#rb jimmy.andrews
#rnx
#jira UE-142326
#preflight 62075a203a5afc57e3bbf75c
#lockdown aurel.cordonnier

#ROBOMERGE-AUTHOR: lonnie.li
#ROBOMERGE-SOURCE: CL 18980712 in //UE5/Release-5.0/... via CL 18980929 via CL 18981207
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v917-18934589)

[CL 18981374 by lonnie li in ue5-main branch]
2022-02-14 12:20:58 -05: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
andrew davidson
8e95b10069 Fix FVector2D variant casts - Runtime
Submitted on behalf of fred.kimberley
#rb andy.davidson
#preflight 61f8729a5a026d2d19bb9ca6
#preflight 61f87a025a026d2d19be76ed

#ROBOMERGE-OWNER: andrew.davidson
#ROBOMERGE-AUTHOR: andrew.davidson
#ROBOMERGE-SOURCE: CL 18802361 in //UE5/Release-5.0/... via CL 18802891 via CL 18821557
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v908-18788545)

[CL 18821641 by andrew davidson in ue5-main branch]
2022-02-02 01:47:07 -05:00