Commit Graph

56 Commits

Author SHA1 Message Date
jimmy andrews
04473acfc8 make Dynamic Mesh Components show vertex colors when the corresponding ShowFlag is set
#jira UE-190003
#rb ryan.schmidt

[CL 26446150 by jimmy andrews in ue5-main branch]
2023-07-18 16:25:05 -04:00
jimmy andrews
3f483bd95f Change the default TangentsType for all new DynamicMeshComponent and expose TangentsType to the UI
Make TangentsType have an explicit 'Default' value, which will currently map to ExternallyProvided. ExternallyProvided is also renamed to "From Dynamic Mesh" in the UI.

#jira UE-187523
#rb ryan.schmidt

[CL 26433246 by jimmy andrews in ue5-main branch]
2023-07-18 10:07:19 -04:00
zach bethel
9b43e90545 Fixed render thread check crash.
[CL 26284686 by zach bethel in ue5-main branch]
2023-06-28 10:27:14 -04:00
zach bethel
aa1b0c680f Deprecated non-command list RHI methods.
- RHICreate{Vertex, Index, Structured}Buffer
 - RHICreate{ShaderResource, UnorderedAccess}View
 - RHIUpdateUniformBuffer
 - Various initialization / locking methods for helper buffer types in RHIUtilities.h

The goal is to continue to force resource creation through command lists to avoid surprises with moving things off the render thread.

#rb christopher.waters

[CL 26183242 by zach bethel in ue5-main branch]
2023-06-22 11:08:27 -04:00
ryan schmidt
1a69e04b7e GeometryScript: Add DynamicMeshComponent NotifyMeshModified and NotifyMeshVertexAttributesModified functions (functions are called 'Updated' in BP, via DisplayName, because NotifyMeshUpdated already exists as C++ function). These allow a DynamicMeshComponent's rendering to be updated after the underlying DynamicMesh has been modified with deferred notifications (eg while setting many vertex positions, etc).
Add RecomputeNormalsForMeshSelection, allows subset of normals to be recomputed. Add bDeferChangeNotifications option to RecomputeNormals.

Add ComputeMeshLocalUVParam, computes expmap parameterization on bounded-geodesic-radius area of mesh

#rb none

[CL 26034446 by ryan schmidt in ue5-main branch]
2023-06-15 22:53:04 -04:00
ryan schmidt
384857e703 GeometyFramework: Add support for controlling vertex color space transform/conversion in BaseDynamicMeshComponent. Add support for custom color remapping function in DynamicMeshComponent.
#rb david.hill
#preflight 6464d64b2d446eac96c253c3

[CL 25507838 by ryan schmidt in ue5-main branch]
2023-05-17 11:12:48 -04:00
ryan schmidt
7e039b0a5f fix nonunity build error
#rb none
#preflight none

[CL 24471406 by ryan schmidt in ue5-main branch]
2023-03-01 16:55:26 -05:00
ryan schmidt
9d6d1e8a38 DynamicMesh: resolve issue w/ wireframe not rendering for DynamicMeshComponent in shipping builds
[REVIEW] [at]semion.piskarev
#preflight 63ff6243a134e0b059009fc9
#rb jimmy.andrews, semion.piskarev

#localization none
#tests preflight and fix verified in shipping build locally

[CL 24469623 by ryan schmidt in ue5-main branch]
2023-03-01 15:45:50 -05:00
ryan schmidt
07bfc6f77c GeometryFramework: resolve issue w/ UDynamicMeshComponent::SetDynamicMesh() where the incoming mesh may not be Outered to the Component, so it won't necessarily be serialized, leading to potential situations where the DynamicMesh is null on level load. Also updated UDynamicMeshComponent::PostLoad() to handle this case instead of just check()ing.
#rb none
#preflight  63bf118c763c6c10643dcd56

[CL 23658504 by ryan schmidt in ue5-main branch]
2023-01-11 20:55:38 -05:00
christopher waters
8fd10b0e13 Dependency cleanup around some Rendering headers.
#preflight 63b893e547321b9d895924b0

[CL 23605570 by christopher waters in ue5-main branch]
2023-01-06 18:57:09 -05:00
christopher waters
f8abec7a8e Material header dependency cleanup
- Removing MaterialAttributeDefinitionMap and MaterialRenderProxy from MaterialShared.h
- Removing MaterialShared from Material.h

#preflight 639cbb35776b61ba3b82f03e

[CL 23541603 by christopher waters in ue5-main branch]
2022-12-16 16:24:02 -05:00
christopher waters
7215f7d4ec Fully moving MaterialDomain to its own header.
#jira none
#preflight 639b4dc335203bc7aa695078

[CL 23531533 by christopher waters in ue5-main branch]
2022-12-15 16:01:51 -05:00
tiantian xie
70c2dba8c0 Move RayTracingInstance.h and RayTracingInstance.cpp from Engine module the Renderer module.
* Remove the need to call BuildInstanceMaskAndFlags(), BuildRayTracingInstanceMaskAndFlags() manually in GetXXRayTracingInstance(). They will be called in the renderer module. All functions manually called has been removed.
* Remove the RENDER_API public api for those functions, as they cause link error in the Engine module (where the header is included in the Engine build file for static library link. the RENDERER_API is interpreted as dllimport, which will not link the functions in RayTracingInstance.cpp) and there is no need to call them outside of renderer module.
* A callback function is added to FRayTracingInstance, use it for RaytracingInstanceMaskandFlags caching.

Note: this is a first step to separate the instance mask between RayTracing and PathTracing, where PathTracing uses a totally different instance mask. This cleanup is un-avoidable if we want to keep rendering related code in the renderer module.

#rb Yuriy.ODonnell
#jira UE-172742
#preflight 6399002f2960b732202acc7c

[CL 23514248 by tiantian xie in ue5-main branch]
2022-12-14 13:16:33 -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
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
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
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