Commit Graph

269 Commits

Author SHA1 Message Date
semion piskarev
a9f3f5bd8e MeshModelingTools: Add boolean extrude option to PolyEdit. Fix extrusion of multiple faces via triangle normals. Add ability to extrude while keeping multiple faces parallel. Add options for side group setting on borders during extrude.
#rb Jimmy.Andrews
#jira UETOOL-3807
#rnx

#ROBOMERGE-SOURCE: CL 17325840 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v861-17282326)

[CL 17325887 by semion piskarev in ue5-release-engine-test branch]
2021-08-26 16:59:59 -04:00
ryan schmidt
3c6a5318d8 GeometryProcessing: LWC Fixes. Remove GeometryCore TRay3, TSphere3, and TOrientedBox3 from ExplicitUseGeometryMathTypes.h, update call sites to fully-qualified name where necessary (in some cases handled by using declaration at class scope, or by wrapping code in UE::Geometry:: namespace)
#rb none
#rnx
#jira none
#preflight 6126b717d673c400011f438b

#ROBOMERGE-SOURCE: CL 17316981 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v861-17282326)

[CL 17316997 by ryan schmidt in ue5-release-engine-test branch]
2021-08-26 09:31:28 -04:00
ryan schmidt
e3183cb1e7 GeometryProcessing: clean up mesh timestamps.
- remove FDynamicMesh3::Timestamp (unused), rename Shape/Topology Timestamps to Shape/TopologyChangeStamp, change to atomic<uint32>
- add FDynamicMesh3::bEnableShapeChangeStamp, default to false, to disable ShapeChange tracking. Add ::SetShapeChangeStampEnabled() and ::HasShapeChangeStampEnabled() to configure.
- replace FDynamicMesh3::UpdateTimestamps() with UpdateChangeStamps()
- add bTrackChange param to FDynamicMesh3::SetVertex(), optionally updates ShapeChangeStamp (if enabled). Default true. Remove SetVertex_NoTimeStampUpdate(), update call sites.
- add FDynamicMesh3::GetChangeStamp(), returns combination of Shape and Topology stamps as uint64
- rename TTriangleMeshAdapter::GetTimestamp() to GetChangeStamp(), update usages
- remove TPointSetAdapter::Timestamp()   (was not used in code)
- update TMeshAABBTree3 to use GetChangeStamp(), update internal checks to call IsValid() instead
- update TFastWindingTree w/ similar changes
- update calls in UVEditor, may require further updates
#rb semion.piskarev
#rnx
#jira none
#preflight 6126904c72e9eb00011434fe

#ROBOMERGE-SOURCE: CL 17310271 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v861-17282326)

[CL 17315112 by ryan schmidt in ue5-release-engine-test branch]
2021-08-26 06:57:55 -04:00
stu mckenna
7ef77f9a1f - Compilation fixes for LWC changes
#rb andrew.davidson[at]epicgames.com
#jira none
#rnx

#ROBOMERGE-SOURCE: CL 17306831 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v861-17282326)

[CL 17306857 by stu mckenna in ue5-release-engine-test branch]
2021-08-25 14:20:43 -04:00
lonnie li
a8d2d6fdc8 ModelingTools: Optimize write lock during BakeTexture.
- Added cpu trace profiler events to high level bake processes.
- Added benchmarks

#rb michael.balzer
#rnx
#jira UETOOL-3818
#preflight 6120107376f1fd0001af98d5

#ROBOMERGE-SOURCE: CL 17290815 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v861-17282326)

[CL 17290826 by lonnie li in ue5-release-engine-test branch]
2021-08-24 14:44:05 -04:00
ryan schmidt
3e9494d723 GeometryProcessing: remove most calls to FDynamicMesh3::GetCachedBounds()
#rb jimmy.andrews
#rnx
#jira none
#preflight 612436ea8ff55400012a182c

#ROBOMERGE-SOURCE: CL 17280425 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v858-17259218)

[CL 17280439 by ryan schmidt in ue5-release-engine-test branch]
2021-08-23 22:08:34 -04:00
ryan schmidt
366c4b9649 GeometryProcessing: fix memory leak identified by PVS
#rb david.hill
#rnx
#jira none
#preflight 612028a276f1fd0001b2f102

#ROBOMERGE-SOURCE: CL 17255861 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v855-17104924)

[CL 17255868 by ryan schmidt in ue5-release-engine-test branch]
2021-08-20 19:26:50 -04:00
jimmy andrews
ec491379cc Remove duplicate FDynamicMesh vertex triangle one ring function, optimize the remaining function some, and remove bool that doesn't change result.
#rb ryan.schmidt
#rnx

#ROBOMERGE-SOURCE: CL 17251072 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v855-17104924)

[CL 17251085 by jimmy andrews in ue5-release-engine-test branch]
2021-08-20 14:54:52 -04:00
ryan schmidt
6ea7d67546 GeometryProcessing: Add full AutoUV process to PatchBasedMeshUVGenerator, based on initial superpatch decomposition computed using FPolygroupsGenerator. Add a few utility functions for setting output state to FGeometryResult. Add FMeshConnectedComponents::InitializeFromTriangleComponents(), to allow initializing from an existing triangle set (sometimes necessary when downstream code requires a FMeshConnectedComponents as input).
#rb david.hill, jimmy.andrews
#rnx
#jira none
#preflight 611ede69008be9000100c1ad

#ROBOMERGE-SOURCE: CL 17242884 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v855-17104924)

[CL 17242890 by ryan schmidt in ue5-release-engine-test branch]
2021-08-19 21:29:14 -04:00
ryan schmidt
597b4ec3e9 GeometryProcessing: Move FFindPolygonsAlgorithm from ModelingTools to GeometryProcessing, rename to FPolygroupsGenerator. Replace usages of 'Polygon' with 'Polygroup' and update usage in ConvertToPolygonsTool.
#rb none
#rnx
#jira none
#preflight 611e7e97e7a307000164764c

#ROBOMERGE-SOURCE: CL 17240134 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v855-17104924)

[CL 17240135 by ryan schmidt in ue5-release-engine-test branch]
2021-08-19 17:30:43 -04:00
lonnie li
10d8cfd3d8 ModelingTools: Fix BakeTexture synchronization to output buffer and re-enable BakeTexture unit test.
#rb trivial
#rnx
#preflight 611aa6023a81b00001d34892

#ROBOMERGE-SOURCE: CL 17180212 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v855-17104924)

[CL 17180233 by lonnie li in ue5-release-engine-test branch]
2021-08-16 15:24:01 -04:00
jimmy andrews
bdee2f8a50 Add a custom hole filler for fracture (automatically called after fracture Boolean ops)
#rb none
#rnx
#preflight 6111d36b0d783d0001d2a9f3

#ROBOMERGE-SOURCE: CL 17115192 via CL 17115268
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v855-17104924)

[CL 17115278 by jimmy andrews in ue5-release-engine-test branch]
2021-08-10 09:18:57 -04:00
lonnie li
e9839fc587 ModelingTools: Add texture filtering support to BakeTexture.
#rb michael.balzer
#rnx
#jira UETOOL-3818
#preflight 610da9df6c6eb00001b677c3

#ROBOMERGE-SOURCE: CL 17102582 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v853-17066230)

[CL 17102588 by lonnie li in ue5-release-engine-test branch]
2021-08-09 10:50:14 -04:00
aurel cordonnier
dc4bf61540 Merge from Release-Engine-Staging @ 17030559 to Release-Engine-Test
This represents UE4/Main @ 17030256 and Dev-PerfTest @ 17030553

[CL 17031509 by aurel cordonnier in ue5-release-engine-test branch]
2021-08-03 11:56:47 -04:00
semion piskarev
0fa966d124 MeshModelingTools: Fix edge loop insertion crash when using retriangulate in some weird topology situations.
#rb Tyson.Brochu
#rnx
#jira none

#ROBOMERGE-SOURCE: CL 16999856 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v838-16927207)

[CL 16999857 by semion piskarev in ue5-release-engine-test branch]
2021-07-29 15:21:39 -04:00
ryan schmidt
477d01d796 GeometryCore: add TNormalHistogram, simple spherical histogram based on TSphericalFibonacci point set
GeometryProcessing: add PatchBasedMeshUVGenerator, partial implementation of new AutoUV generator, currently generates UVs based on an initial patch decomposition computed externally, by incrementally merging those patches if possible.
ModelingTools: extend RecomputeUVsOp to optionally support island merging based on PatchBasedMeshUVGenerator. Add support for Normal smoothing in ExpMap, and UV Island rotation optimization. Expose new options/etc in RecomputeUVsTool, as well as add optional UV-space view.
#rb none
#rnx
#jira none
#preflight 6102000325e4a50001ac7119

#ROBOMERGE-SOURCE: CL 16992432 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v838-16927207)

[CL 16992437 by ryan schmidt in ue5-release-engine-test branch]
2021-07-29 01:32:28 -04:00
ryan schmidt
a792e5ad6d GeometryProcessing: Add FDynamicMeshUVEditor::ScaleUVAreaTo3DArea() and ::AutoOrientUVArea(), FMeshRegionGraph::MoveRegionTris()
#rb none
#rnx
#jira none

#ROBOMERGE-SOURCE: CL 16990275 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v838-16927207)

[CL 16990276 by ryan schmidt in ue5-release-engine-test branch]
2021-07-28 19:54:35 -04:00
ryan schmidt
7ce3b5918b GeometryProcessing: minor cleanups. Handle invalid UVs in UVPacking. Remove ensure in FDynamicMeshUVEditor::EstimateGeodesicCenterFrameVertex(), this is easily hit in UV generation and unavoidable from the users PoV. Fix possible infinite loop in FMeshRegionGraph::MergeSmallRegionsPass(). Add VectorUtil::SignedArea().
#rb tyson.brochu
#rnx
#jira none
#preflight 610087015938f90001efaf12

#ROBOMERGE-SOURCE: CL 16977357 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v838-16927207)

[CL 16977359 by ryan schmidt in ue5-release-engine-test branch]
2021-07-27 20:34:33 -04:00
michael balzer
ba195473cd GeometryProcessing: Move plugin from Experimental to Runtime
#jira UETOOL-3823
#rb ryan.schmidt

#ROBOMERGE-SOURCE: CL 16958628 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v838-16927207)

[CL 16958640 by michael balzer in ue5-release-engine-test branch]
2021-07-26 14:07:13 -04:00