Commit Graph

55 Commits

Author SHA1 Message Date
roey borsteinas
e168d21835 Exposed a new property bIsEditable on UDynamicMeshComponent to allow them to block any modifications done through EditMesh/SetMesh. Additionally, when this flag is set to false, the UDynamicMeshToolTarget is blocked from being created for the dynamic mesh component so modeling tools can't edit the mesh either.
#rb Ryan.Schmidt

[CL 29959323 by roey borsteinas in ue5-main branch]
2023-11-28 09:50:36 -05:00
jimmy andrews
d194498f95 Make the dynamic mesh debug collision rendering cache the collision shapes on the dynamic mesh scene proxy, to make sure there is not a race condition if the collision shapes are being updated on the game thread while collision rendering is enabled
#rb matija.kecman

[CL 28393018 by jimmy andrews in ue5-main branch]
2023-10-02 16:29:12 -04:00
zach bethel
2dca0749cd Fixed deprecation warning.
[CL 27814175 by zach bethel in ue5-main branch]
2023-09-12 18:42:31 -04:00
zach bethel
29f735f4a3 Modified scene proxy GetDynamicMeshElements calls to take a local command list instead of relying on the immediate command list and defer uniform expression cache invalidations.
- Calls to FRHICommandListImmediate::Get() replaced with Collector.GetRHICommandList()

#jira UE-194426

[CL 27813729 by zach bethel in ue5-main branch]
2023-09-12 18:32:22 -04:00
jimmy andrews
421af56339 Add support for collision rendering showflags to BaseDynamicMeshSceneProxy
#rb rinat.abdrashitov

[CL 27657859 by jimmy andrews in ue5-main branch]
2023-09-06 18:57:28 -04:00
jimmy andrews
e492ad203e Fix ensure when ExternallyProvided tangents are requested on a DynamicMeshComponent but the DynamicMesh does not have tangents. Fall back to the no-tangents case.
#jira UE-192574
#rb ryan.schmidt

[CL 27042996 by jimmy andrews in ue5-main branch]
2023-08-11 16:02:30 -04:00
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
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