Commit Graph

32 Commits

Author SHA1 Message Date
Ryan Schmidt
25278099b0 ModelingComponents: remove unnecessary log message, add parallel compute of update buffer sets
#rb none
#rnx
#jira none

[CL 15255358 by Ryan Schmidt in ue5-main branch]
2021-01-28 20:32:26 -04:00
Ryan Schmidt
4530793456 ModelingComponents: Add USimpleDynamicMeshComponent:: FastNotifyTriangleVerticesUpdated_TryPrecompute() and FastNotifyTriangleVerticesUpdated_ApplyPrecompute(). These are split-up pieces of the existing FastNotifyTriangleVerticesUpdated(), which are useful in cases where we can do the precompute Async() while other pending computation happens (eg in sculpting). Change bounding-box computations to use new parallel mesh bounds option.
#rb none
#rnx
#jira none

[CL 15236419 by Ryan Schmidt in ue5-main branch]
2021-01-28 01:46:53 -04:00
Ryan Schmidt
de3285fe0a GeometryProcessing: support vertex colors in DynamicMesh/MeshDescription conversion. Add flag in FConversionToMeshDescriptionOptions. Support in USimpleDynamicMeshComponent::Bake.
#rb jimmy.andrews
#rnx
#jira none

[CL 15215132 by Ryan Schmidt in ue5-main branch]
2021-01-27 00:45:30 -04:00
Ryan Schmidt
72700cc221 ModelingComponents: Add support for fast update of index buffers in decomposed buffer sets in DynamicMeshComponent/Proxy. Add support for MeshRenderDecomposition to UPreviewMesh. Add UPreviewMesh::NotifyRegionDeferredEditCompleted() functions to allow triangle subsets to be updated.
MeshSelectionTool: enable new decomposition support to improve painting performance on large meshes. Fix code that was doing repeated linear searches to remove elements from a potentially-very-large array. Make brush-ROI tri centroid point rendering optional.
#rb jimmy.andrews
#rnx
#jira none

[CL 15175542 by Ryan Schmidt in ue5-main branch]
2021-01-24 16:05:21 -04:00
David Hill
3eefcfc9d2 Geometry Tools: DynamicMeshToMeshDescription. Add support for tangents in the conversion (and update) from DynamicMesh to MeshDescription.
#jira none
#rb jimmy.andrews , semion.piskarev
#rnx

[CL 15138521 by David Hill in ue5-main branch]
2021-01-19 15:47:33 -04:00
Ryan Schmidt
38099b02b7 ModelingComponents: don't try to fast update if a MeshPostProcessor is enabled on SimpleDynamicMeshComponent
#rb tyson.brochu
#rnx
#jira none

[CL 14850007 by Ryan Schmidt in ue5-main branch]
2020-12-03 17:40:22 -04:00
David Hill
2bda787c79 Update DynamicMesh to,from MeshDescription Conversions. Now supports the shared UVs on MeshDecription and works directly with triangles (not polygons).
#jira none
#rnx
#rb jimmy.andrews

[CL 14796480 by David Hill in ue5-main branch]
2020-11-20 12:24:15 -04:00
tyson brochu
b532d0a776 Add an optional IRenderMeshPostProcessor to USimpleDynamicMeshComponent that will be called before sending the mesh for rendering.
#jira UETOOL-2660
#rnx
#rb jimmy.andrews

[CL 14672912 by tyson brochu in ue5-main branch]
2020-11-05 19:18:40 -04:00
Marc Audy
11f5b21210 Merging //UE5/Release-Engine-Staging @ 13752110 to Main (//UE5/Main)
#rnx

[CL 13753156 by Marc Audy in ue5-main branch]
2020-06-23 18:40:00 -04:00
ryan schmidt
b5269d3b5e ModelingComponents: get rid of log spam
#rb none
#rnx

#ROBOMERGE-SOURCE: CL 13047901 via CL 13047908 via CL 13047912
#ROBOMERGE-BOT: RELEASE (Release-Engine-Staging -> Main) (v686-13045012)

[CL 13048585 by ryan schmidt in Main branch]
2020-04-27 13:07:07 -04:00
ryan schmidt
0311490507 ModelingComponents: new USimpleDynamicMeshComponent::FastNotifyUVsUpdated() implementation was not actually updating UVs.
#rb none
#rnx

#ROBOMERGE-SOURCE: CL 12937173 via CL 12937180 via CL 12937186
#ROBOMERGE-BOT: RELEASE (Release-Engine-Staging -> Main) (v682-12900288)

[CL 12937190 by ryan schmidt in Main branch]
2020-04-20 16:42:20 -04:00
ryan schmidt
e7f3baf1ca Edigrate Dev-Editor updates to InteractiveToolsFramework, GeometryProcessing, MeshModelingToolset, and ModelingTools Editor Mode Plugins. Update a few files in new MeshPaint Plugin for UInteractiveTool rename of ::Tick() to ::OnTick().
#rb none
#rnx

#ROBOMERGE-SOURCE: CL 12908995 via CL 12908996 via CL 12909001
#ROBOMERGE-BOT: RELEASE (Release-Engine-Staging -> Main) (v682-12900288)

[CL 12909003 by ryan schmidt in Main branch]
2020-04-18 18:42:59 -04:00
jimmy andrews
ff37523e51 fix crash on edit normals if mesh has duplicate triangles
#jira UE-91276
#rb none
#rnx

#ROBOMERGE-SOURCE: CL 12480856 in //UE4/Release-4.25/... via CL 12480860 via CL 12480865
#ROBOMERGE-BOT: RELEASE (Release-Engine-Staging -> Main) (v673-12478461)

[CL 12487324 by jimmy andrews in Main branch]
2020-03-30 12:04:36 -04:00
ryan schmidt
a5aa3b56a2 Add support for tracking changes to overlay normals to FMeshVertexChange/Builder. Add support for applying this to mesh in USimpleDynamicMeshComponent::ApplyChange and Octree component. FGroupTopologyDeformer now calculates list of modified overlay normals. EditMeshPolygonsTool and DeformMeshPolygonsTool now relcalculate normals on edit and propagate to change. Moved deformation calculation in EditMeshPolygonsTool from mouse handler to tick, significantly improves responsiveness.
#rb none
#rnx
#jira UE-90205

#ROBOMERGE-SOURCE: CL 11968217 in //UE4/Release-4.25/... via CL 11968232
#ROBOMERGE-BOT: RELEASE (Release-4.25Plus -> Main) (v656-11643781)

[CL 11968271 by ryan schmidt in Main branch]
2020-03-05 18:07:34 -05:00
ryan schmidt
4884a0e9ec ModelingTools: remove copypasta that resulted in log spam
#rb none
#rnx
#jira none

#ROBOMERGE-SOURCE: CL 11887940 in //UE4/Release-4.25/... via CL 11888007
#ROBOMERGE-BOT: RELEASE (Release-4.25Plus -> Main) (v656-11643781)

[CL 11888081 by ryan schmidt in Main branch]
2020-03-03 16:55:37 -05:00
Max Chen
b4881d8bf8 Copying //UE4/Dev-Editor to Dev-Tools-Staging (//UE4/Dev-Tools-Staging) @11123875
#rb none
#jira none

[CL 11123880 by Max Chen in Dev-Tools-Staging branch]
2020-01-27 20:11:15 -05:00
JeanMichel Dignard
70d074639f Merging //UE4/Dev-Main @ 10886849 to Dev-Tools-Staging (//UE4/Dev-Tools-Staging)
#rb none
#rnx

[CL 10906274 by JeanMichel Dignard in Dev-Tools-Staging branch]
2020-01-08 13:26:18 -05:00
Marc Audy
360d078ca3 Second batch of remaining Engine copyright updates.
#rnx
#rb none

[CL 10871248 by Marc Audy in Main branch]
2019-12-27 09:26:59 -05:00
Chris Gagnon
346a4b05ea Copy up from Dev-Editor @10681378
#rb none

[CL 10837446 by Chris Gagnon in Dev-Tools-Staging branch]
2019-12-19 18:07:47 -05:00
Ryan Schmidt
c7e705f4ec ModelingTools: update Simple and Octree DynamicMeshComponent's to use the SceneProxy pointer in base PrimitiveComponent, rather than their own copy. Simple Component's FastNotifyXYZ functions now use MarkRenderDynamicDataDirty() instead of MarkRenderStateDirty(), which was deleting the Proxy. Change MeshSelectionTool to use fast color update.
#rb none
#rnx
#fyi jimmy.andrews

[CL 10499414 by Ryan Schmidt in Dev-Editor branch]
2019-12-03 14:37:05 -05:00
Jimmy Andrews
079f79cab6 make plane cut allow multiple cuts without leaving tool
to support that: adds some support for packing multiple meshes into one dynamic mesh via a triangle attribute, a meshreplacementchange, and some improvements to the plane cut algo

#rb none
#rnx

[CL 10494329 by Jimmy Andrews in Dev-Editor branch]
2019-12-03 00:44:07 -05:00
Ryan Schmidt
f2e155e0f7 ModelingTools: Fix incorrect world-bounds computation in DynamicMeshComponents
#rb none
#rnx

[CL 10433738 by Ryan Schmidt in Dev-Editor branch]
2019-11-25 17:52:54 -05:00
Ryan Schmidt
f98eb26bdf minor fixes - export groups-color function, recalculate bounding box on fast vertex update in SimpleDynamicMeshComponent
#rb none
#rnx

[CL 10398707 by Ryan Schmidt in Dev-Editor branch]
2019-11-24 22:45:40 -05:00
Ryan Schmidt
d53c4df497 Merging //UE4/Dev-Tools-Staging down to //UE4/Dev-Editor at CL 10372033 (part 1 of 2)
#rb none
#rnx

[CL 10384788 by Ryan Schmidt in Dev-Editor branch]
2019-11-23 00:35:50 -05:00
Ryan Schmidt
b1d9c2be8f ModelingTools: Multiple Material Support on DynamicMesh Components
- MeshDescriptionToDynamicMesh now always enables MaterialID attribute
- add FComponentMaterialSet and FComponentTarget::GetMaterialSet() that returns for current object (eg set of Material Slot materials on StaticMesh)
- move FMeshRenderBufferSet to BaseMeshSceneProxy.h, add new FBaseDynamicMeshSceneProxy, centralizes management/initialization of RenderBuffers, default GetDynamicMeshElements implementation draws buffer set returned by subclasses
- FSimpleDynamicMeshSceneProxy and FOctreeDynamicMeshSceneProxy now subclass FBaseDynamicMeshSceneProxy, implement necessary functions/etc
- UBaseDynamicMeshComponent now manages its own set of Materials. New OverrideMaterial can be set to replace existing materials with override material during render calls (does not affect material set)
- FSimpleDynamicMeshSceneProxy now builds per-material RenderBuffers, new FastUpdateVertices function to update positions/normals/colors. Removed shared-vertex construction, now only builds split-triangle buffers.
- UPreviewMesh gets wrapper functions to manage materials, override material, tangents of contained Component
#rb none
#rnx

[CL 10313312 by Ryan Schmidt in Dev-Editor branch]
2019-11-19 17:08:48 -05:00