Commit Graph

192 Commits

Author SHA1 Message Date
Ryan Schmidt
c52de9c4de GeometryScript: add support for input selection to ComputeMeshConvexHull. Add ComputeMeshConvexDecomposition that exposes new FConvexDecomposition3 algorithm, via FMeshSimpleShapeApproximation
#rb none
#preflight 62ffdacbfc3d0e6817237abf

[CL 21462222 by Ryan Schmidt in ue5-main branch]
2022-08-19 15:04:19 -04:00
bryan sefcik
a441877636 Updated several modules to have UnsafeTypeCastWarningLevel be an error so it matches other modules. This helps compile times because there will be less shared PCHs created.
#jira
#preflight 62ffcfb5fa1ac183e592146a

[CL 21461486 by bryan sefcik in ue5-main branch]
2022-08-19 14:30:30 -04:00
rinat abdrashitov
b4d0b45296 Add progress cancel functionality to the adaptive tessellation operator and the displace tool when the selective option is used.
#rb jimmy.andrews
#rnx
#jira none
#preflight 62fd72c70f2aefc97ac33751

[CL 21441749 by rinat abdrashitov in ue5-main branch]
2022-08-18 10:14:49 -04:00
rinat abdrashitov
6606166965 Adding selective tessellation option to the Displace mesh tool to allow for tessellating triangles that belong to a certain material.
#rb lonnie.li
#rb ryan.schmidt
#rnx
#preflight 62fd1ce387319bacfb1457c3
#jira none

[CL 21427033 by rinat abdrashitov in ue5-main branch]
2022-08-17 12:59:12 -04:00
rinat abdrashitov
bec1e21ca1 Interpolate the per-vertex attributes from the original mesh to the tessellated mesh in the adaptive tessellation operator.
#rb jimmy.andrews
#rnx
#jira none
#preflight 62f17504086f90bbc47d65e2

[CL 21289445 by rinat abdrashitov in ue5-main branch]
2022-08-09 11:44:11 -04:00
michael balzer
0c72efb8c4 GeometryProcessing: Fix compiler error in FSparseMatrixD.h on Android
#preflight 62db2d6923003b62a32ccede

[CL 21231159 by michael balzer in ue5-main branch]
2022-07-22 19:17:52 -04:00
michael balzer
a17b199220 GeometryProcessing: Mute warning in Eigen library used in FSparseMatrixD.h when using Clang
#preflight 62db154c600bd2a4bd3e7534
#FYI ryan.schmidt

[CL 21230782 by michael balzer in ue5-main branch]
2022-07-22 18:28:23 -04:00
lonnie li
1b9bbb3599 BakeVertex: Fixed identity bakes w/ VertexColor output type returning black.
#rb none
#jira none
#preflight 62daf5c2bc175ec68cd16f08

[CL 21227905 by lonnie li in ue5-main branch]
2022-07-22 15:45:30 -04:00
Ryan Schmidt
5390a93054 GeometryScript: add types and functions for creating mesh "Selections", ie subsets defined by a list of element IDs
GeometryScriptSelectionTypes.h:
New type FGeometryScriptMeshSelection stores Vertex, Triangle, and Polygroup selections. Currently internally represented as a TSharedPtr<FGeometrySelection>, however this is not exposed to BP at all. FGeometryScriptMeshSelection is an opaque object w/ no exposed properties, and it's contents cannot be serialized, ie it is only usable as temporary data during active GeometryScript computations.

MeshSelectionFunctions.h: library of functions for creating/manipulating mesh selections
CreateSelectAllMeshSelection - create a Mesh Selection for all elements of Mesh
ConvertMeshSelection - convert a Mesh Selection to a different type
CombineMeshSelections - combine two Mesh Selections using set operations (union, difference, intersection)
ConvertIndexArrayToMeshSelection / ConvertIndexSetToMeshSelection - convert TArray<int> / TSet<int> to a Mesh Selection
ConvertIndexSetToMeshSelection - convert a Mesh Selection to TArray<int>
ConvertIndexListToMeshSelection / ConvertMeshSelectionToIndexList - convert between an Index List and a Mesh Selection
SelectMeshElementsInBox, SelectMeshElementsInSphere, SelectMeshElementsWithPlane - create a Mesh Selection of all elements "inside" a geometric element
SelectMeshElementsByNormalAngle  - create a Mesh Selection of all elements based on normal vector direction
SelectMeshElementsInsideMesh - create a Mesh Selection of all elements inside another mesh (with optional extra shell thickness)
ExpandMeshSelectionToConnected - expand a Mesh Selection to Connected regions (various connectivity criteria)
GetMeshSelectionInfo - get the type and size of a Mesh Selection
DebugPrintMeshSelection - print a Mesh Selection to the output log

MeshSelectionQueryFunctions.h: library of functions for doing mesh queries based on a selection
GetMeshSelectionBoundingBox - get the bounding box of a Mesh Selection
GetMeshSelectionBoundaryLoops - get the boundary loops (indices and 3D polylines) of a Mesh Selection

#rb none
#preflight 62d9b3f33122bf80ae0f9950

[CL 21210151 by Ryan Schmidt in ue5-main branch]
2022-07-21 17:16:52 -04:00
David Hill
de3073fb9e GeometryCore and DynamicMesh: enable implicit type conversion warnings.
#preflight 62d9635a185da2495f443808

[CL 21201226 by David Hill in ue5-main branch]
2022-07-21 11:03:29 -04:00
David Hill
963664ce11 Geometry: Updates to fix type conversion warnings in PolygroupsGenerator.cpp
#preflight none
#rnx

[CL 21187808 by David Hill in ue5-main branch]
2022-07-20 15:59:31 -04:00
Ryan Schmidt
22767a02ab DynamicMesh: re-normalize normal layers in MeshResolveTJunctions
#rb none
#preflight 62d8176523003b62a3750c17

[CL 21180143 by Ryan Schmidt in ue5-main branch]
2022-07-20 11:05:45 -04:00
David Hill
bd6eef7ea1 Geometry Core, Geometry Processing. Fix implicit cast warnings encountered during clang build.
GeometryCore: StairGenerator.cpp, SweepGenerator.{h,.cpp}, UVPacking.cpp, ParallelTransformReduce.h, CurvewUtil.h, SweepingMeshSDF.h FastWinding.h

GeometryProcessing:  Remesher.cpp, AdaptiveTessellate.cpp, UniformTessellate.cpp, GeometrySelectionUtil.cpp, MeshSimpleApproximation.cpp

#rb Lonnie.Li
#preflight 62d5bfa347779a730a46bc55

[CL 21161422 by David Hill in ue5-main branch]
2022-07-19 09:31:09 -04:00
Ryan Schmidt
535ef989c1 ModelingTools: add 'Find Quads' mode to GrpGen Tool. Implementation is in FPolygroupsGenerator::FindSourceMeshPolygonPolygroups. Add uv-seam-constraint and hard-normal-constraint options for both this new mode, and the existing normal-deviation mode.
#rb none
#preflight 62d5d30ec0180d80715825f1

[CL 21153635 by Ryan Schmidt in ue5-main branch]
2022-07-18 18:06:28 -04:00
matija kecman
f4900ae7a1 Render Capture Baking: Use depth capture to eliminate occlusion artefacts which can appear when baking non-convex shapes and look like weird sihouettes/blotches in the base color channel
Also removed artefacts that became visible after the ones fixible with a depth test were resolved. These were related to linearly interpolating data on the photosets, this was fixed since the baking framework is where texture filtering should take place

#rnx
#rb lonnie.li, ryan.schmidt
#jira none
#preflight 62d473b0dc4397d384a06bc8

[CL 21148985 by matija kecman in ue5-main branch]
2022-07-18 11:21:15 -04:00
Ryan Schmidt
b0490ac3d4 remove export on enum types
#rb none
#preflight 62d24e992e3e5993c36f1c5d

[CL 21121626 by Ryan Schmidt in ue5-main branch]
2022-07-16 01:46:08 -04:00
Ryan Schmidt
986547914e Move GeometrySelection.h and GeometrySelectionUtil.h to GeometryProcessing plugin. Move types in GeometrySelection.h into UE::Geometry:: namespace. Fix up usage sites.
#rb none
#preflight 62d1c7222e3e5993c351a126

[CL 21117964 by Ryan Schmidt in ue5-main branch]
2022-07-15 17:53:52 -04:00
rinat abdrashitov
27b4884898 Handle the interpolation of the per-triangle attributes for the adaptive tessellation.
#rb jimmy.andrews
#jira none
#preflight 62cf5578d45d5be7f1c5575d
#rnx

[CL 21090762 by rinat abdrashitov in ue5-main branch]
2022-07-14 10:34:38 -04:00
rinat abdrashitov
b534266e44 Fixed a bug where UnifromTessellation was not copying over the names of the attributes.
#rb jimmy.andrews
#preflight 62cf5adfc01544dd40878f03
#jira None
#rnx

[CL 21090760 by rinat abdrashitov in ue5-main branch]
2022-07-14 10:34:24 -04:00
rinat abdrashitov
2f783fedcc Added methods for handling the tessellation of the overlay data.
Expanded FTessellationData class and added FOverlayTessellationData child class to be able to handle overlay seam edges.

#rb jimmy.andrews
#rnx
#preflight 62ccf034f55782ce81979eff
#jira none

[CL 21071888 by rinat abdrashitov in ue5-main branch]
2022-07-13 11:27:53 -04:00
nathan mitchell
20da460276 GeometryProcesssing: Fix incorrect test case in MeshConnectedComponents unit test and make mesh connected components guard against bad seeds.
#rb Jimmy.Andrews
#preflight 62ce0755f30df2b55bb402fc
#jira UE-159310

[CL 21066026 by nathan mitchell in ue5-main branch]
2022-07-12 19:59:56 -04:00
nathan mitchell
aa9d919cd1 GeometryProcessing: Add additional vertex based connected component discovery methods to the MeshConnectedComponents class. When used, the resulting component indices are representing mesh vertices instead of mesh triangles.
#rb Jimmy.Andrews
#preflight 62b9cbc55d29d0d10abcc073

[CL 21057663 by nathan mitchell in ue5-main branch]
2022-07-12 12:15:55 -04:00
David Hill
8933642f59 GeometryProcessing, Mesh Operations. Fix implicit type conversion warnings.
#preflight 62bb1a76727d9bb33ba7d7c1
#rb Jimmy.Andrews

[CL 21007984 by David Hill in ue5-main branch]
2022-07-08 11:26:17 -04:00
David Hill
c35c6b07b9 GeometryProcessing - Cleaning up implicit type cast warnings in DynamicMesh-based selections, simplification and other processing elements.
#preflight 62bc9eb4a328a968bafc368a
#rb Jimmy.Andrews

[CL 21007309 by David Hill in ue5-main branch]
2022-07-08 10:53:04 -04:00
David Lesage
a4378546e5 Fix comment: FMeshMergeCoincidentEdges => FMergeCoincidentMeshEdges
#fyi ryan.schmidt
#preflight 62c75d608558075f425ea868

[CL 20994952 by David Lesage in ue5-main branch]
2022-07-07 18:41:12 -04:00