Commit Graph

34 Commits

Author SHA1 Message Date
Ryan Schmidt
e196c256e4 GeometryProcessing: remove forwarding headers used in GeometryCore transition, and update all affected includes.
#rb none
#rnx
#jira none
#preflight 60c52c5db9446100014da02d

[CL 16653115 by Ryan Schmidt in ue5-main branch]
2021-06-13 00:35:22 -04:00
tyson brochu
50cf569720 Normal Flow Remesh improvements:
- add scalar damping to vertex projection and normal fitting
- detect areas that cover holes in the target mesh and don't project in those regions
- expose smoothing parameters for these areas

#jira UETOOL-3554
#ushell-cherrypick of 16170772 by Ryan.Schmidt
#rb ryan.schmidt
#preflight 60a2d17e4f034a000184b785

[CL 16359473 by tyson brochu in ue5-main branch]
2021-05-17 17:27:58 -04:00
tyson brochu
d72d9d1a3b ProjectToTarget tool: enable world space projection option. Currently projection happens in local space for both the "mesh" and the "projection target". The new WorldSpace option transforms the mesh vertices into world coordinates, then into the coordinates of the projection target before projecting. This is similar to transforming both the mesh and target (an associated acceleration structure) into world coordinates and then doing the projection query.
#rb ryan.schmidt
#jira UETOOL-3458
#preflight 60955aad754924000197e2b9

[CL 16238325 by tyson brochu in ue5-main branch]
2021-05-07 12:01:34 -04:00
Ryan Schmidt
196be0f6d1 GeometryProcessing: replace UE::Geometry::FVector3d/FVector3f with UE Core versions based on TVector<T>. FVector3<T> is now an extension of TVector<T>. Update all affected call sites.
#rb none
#rnx
#jira none

[CL 15870068 by Ryan Schmidt in ue5-main branch]
2021-03-30 21:25:22 -04:00
tyson brochu
21316a6cd2 Fix robomerge build break. Vector member functions have been changed to free functions.
#rnx
#rb none

[CL 15868805 by tyson brochu in ue5-main branch]
2021-03-30 18:26:57 -04:00
tyson brochu
b2230584d7 HoleFill tool: optionally try to fill single-triangle holes first. Don't create new UV islands for these filled triangles, instead try to attach them to adjacent UV islands.
#rb jimmy.andrews

#ROBOMERGE-SOURCE: CL 15868315 in //UE5/Release-5.0-EarlyAccess/...
#ROBOMERGE-BOT: STARSHIP (Release-5.0-EarlyAccess -> Main) (v786-15839533)

[CL 15868369 by tyson brochu in ue5-main branch]
2021-03-30 17:39:22 -04:00
jimmy andrews
223c70718c CIS fix -- remove extraneous #pragma once from RemoveOccludedTriangles.cpp
#rb trivial
#rnx
#jira UE-110434

#ROBOMERGE-SOURCE: CL 15668521 in //UE5/Release-5.0-EarlyAccess/...
#ROBOMERGE-BOT: STARSHIP (Release-5.0-EarlyAccess -> Main) (v779-15635321)

[CL 15670050 by jimmy andrews in ue5-main branch]
2021-03-10 17:16:04 -04:00
Ryan Schmidt
ffe3b401cd GeometryProcessing: move all public types in GeometryProcessing plugin into UE::Geometry:: namespace, as well as some code in MeshModelingToolset. Fix fallout in Water, Paint Mode, ChaosEditor, DataPrep, Text3D, Unit Tests, internal projects.
#rb jimmy.andrews, semion.piskarev
#jira none

[CL 15661651 by Ryan Schmidt in ue5-main branch]
2021-03-09 19:33:56 -04:00
jimmy andrews
caa2f1bf82 refactor jacketing to use one AABB tree per mesh, and transform samples into the local space of each tree, rather than a giant combined AABB tree for all meshes
#ROBOMERGE-SOURCE: CL 15561912 in //UE5/Release-5.0-EarlyAccess/...
#ROBOMERGE-BOT: STARSHIP (Release-5.0-EarlyAccess -> Main) (v771-15082668)

[CL 15561922 by jimmy andrews in ue5-main branch]
2021-03-01 17:01:16 -04:00
Ryan Schmidt
c48788b722 GeometryProcessing:
Add insights profiling tags to RemeshMeshOp and FRemesher. Small optimizations to FRemesher::ProcessEdge(), which has surprising overhead for no-ops (ie edge is not modified).
Add FUniqueIndexSet, alternative to a TSet for constructing list of unique indices (eg when finding set of one-ring tris of a list of vertices). Generally more efficient, particularly for large sets.
Improve FSubRegionRemesher. Make VertexROI private, provide accessors and update usage sites. Optimize InitializeFromVertexROI(), which is an expensive part of dynamic mesh sculpting. Make FullSmoothPass_Buffer() compute in parallel.

ModelingTools:
Major refactor of DynamicMeshSculptTool to improve performance (2-4x improvement on large brush sizes on 1m triangle mesh). A single FSubRegionRemesher is now created and maintained for entire brush stroke, rather than recreating every stamp. This avoids the high cost of initialzing full-mesh constraint set, and allows re-use of various allocated memory buffers. Reorganize major sub-steps computed in a single brush-stamp tick to allow Async computation where possible. Replace some ROI TSets with FUniqueIndexSet. Instrument for Insights, remove old cycle counting.

#rb none
#rnx
#jira none

[CL 15215321 by Ryan Schmidt in ue5-main branch]
2021-01-27 01:53:01 -04:00
Jimmy Andrews
2ec3ef512e For Jacketing tool, add option to set a new polygroup ID for occluded triangles, instead of deleting the triangles
#rb ryan.schmidt, semion.piskarev

[CL 15071441 by Jimmy Andrews in ue5-main branch]
2021-01-13 16:19:10 -04:00
Jimmy Andrews
a61dc4a68e Every Progress->Cancelled() gets a nullptr check
#rb semion.piskarev
#rnx

[CL 15068053 by Jimmy Andrews in ue5-main branch]
2021-01-13 12:32:53 -04:00
Jimmy Andrews
a0f1437af0 add option to shrink (erode) the set of triangles removed by the jacketing tool
#rb tyson.brochu

[CL 14984287 by Jimmy Andrews in ue5-main branch]
2021-01-04 16:55:56 -04:00
tyson brochu
27e162b6f1 NormalFlowRemesher: do extra iterations of normal flow without remeshing. Don't terminate remeshing iterations if mesh quality is good but normal flow is still moving vertices.
#jira none
#rnx
#rb jimmy.andrews

[CL 14894740 by tyson brochu in ue5-main branch]
2020-12-09 19:29:10 -04:00
Jimmy Andrews
d7255d8ac3 add min area and min tri count filters for jacketing tool, to help remove isolated floating tris from output
#rb tyson.brochu

[CL 14712401 by Jimmy Andrews in ue5-main branch]
2020-11-10 17:04:15 -04:00
Marc Audy
68150e0be7 Merge UE5/Release-Engine-Staging to UE5/Main @ 14611496
This represents UE4/Main @ 14594913

[CL 14612291 by Marc Audy in ue5-main branch]
2020-10-29 13:38:15 -04:00
Marc Audy
a7c9001a94 Merging //UE5/Release-Engine-Staging to Main (//UE5/Main) @ 14075166
#rb
#rnx

[CL 14075271 by Marc Audy in ue5-main branch]
2020-08-11 01:36:57 -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
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
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
dc2d35695f Copyright fixes
#rb none
#rnx

[CL 10910710 by JeanMichel Dignard in Dev-Tools-Staging branch]
2020-01-08 17:11:23 -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
Chris Gagnon
d1973355bc Merge Dev-Tools-Stagng tp Dev-Editor
#rb none

[CL 9961726 by Chris Gagnon in Dev-Editor branch]
2019-11-01 17:39:56 -04:00