Commit Graph

74 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
jimmy andrews
8d426365d3 fix dll export names somehow winding up in blueprint function display name strings during semi-automated dllexport conversion for UDynamicMesh.h
#rb trivial
[FYI] henrik.karlsson

[CL 26432738 by jimmy andrews in ue5-main branch]
2023-07-18 09:42:25 -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
61a256b156 More command list conversions. Streaming buffers, vertex factories, and TUniformBufferRef.
[CL 26217320 by zach bethel in ue5-main branch]
2023-06-23 16:03:17 -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
henrik karlsson
5db685f97d [Engine]
* Moved dllexport from type to methods/staticvar in all Engine runtime code. This improves compile times, memory and performance in dll builds

[CL 26082269 by henrik karlsson in ue5-main branch]
2023-06-17 18:13:06 -04:00
henrik karlsson
b8482b44dd [Engine]
* Changed type dllexport to method/staticvar dll export. Various changes for code that upgrade script get wrong

[CL 26082043 by henrik karlsson in ue5-main branch]
2023-06-17 16:57:38 -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
zach bethel
a9a5fa39db Deprecated non-command list variant of InitResource and UpdateResource. Patched the engine to pass command lists through. Follow-up CL's will refactor individual locations to thread command lists through the various callstacks, but that was done very judiciously in this CL to reduce risk.
#rb mihnea.balta, christopher.waters

[CL 25953623 by zach bethel in ue5-main branch]
2023-06-13 11:46:40 -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
c8acfc09b0 ModelingTools: add support for DynamicMeshComponent Simple Collision in Mesh to Collision Tool, Convert Tool, and Transfer Tool.
ModelingComponents: Add ShapeSet member for passing simple collision shapes in FCreateMeshObjectParams, support in relevant functions in UEditorModelingObjectsCreationAPI. Add UE::Geometry::GetCollisionShapes() functions in ComponentCollisionUtil.h, and update various functions to support DynamicMeshComponent

DynamicMeshComponent: change signature of GetSimpleCollisionShapes() to return const ref

#rb david.hill
#preflight 6421ca54973e609670a408c7

[CL 24819452 by ryan schmidt in ue5-main branch]
2023-03-28 11:19:32 -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
christopher waters
6ae040165a Moving FRayTracingGeometry into its own header+source files. FRayTracingGeometry can't forward declare its RHI members yet, so we need it in its own header to remove those dependencies from RenderResource.h
#rb tiago.costa
#preflight 63897bc0976b1644cb2f7450

[CL 23377483 by christopher waters in ue5-main branch]
2022-12-02 15:09:41 -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