Commit Graph

210 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
george rolfe
bf0f26478e Clipper non-unity fix and commenting out of functions containing exceptions, both of which aren't used at all
#jira none
#rb none
#preflight 62fee73c9835a27d8d7b4c04

[CL 21453524 by george rolfe in ue5-main branch]
2022-08-18 21:46:55 -04:00
Jimmy Andrews
5c1c2c6670 cis fix for geometryalgorithms / clipper library: remove all throws from clipper library, rather than try to fix them with defines
#preflight 62feb8bd3f75602b2f227d22

[CL 21451916 by Jimmy Andrews in ue5-main branch]
2022-08-18 18:58:11 -04:00
George Rolfe
533740707f Clipper cis fix
#jira none
#rb none
#preflight 62fe47bd0f2aefc97af89e28

[CL 21442990 by George Rolfe in ue5-main branch]
2022-08-18 11:32:10 -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
George Rolfe
fd9eafdc4b GeometryProcessing clipper lib integration and exposed functionality
#jira UE-161308
#rb jimmy.andrews
#preflight 62fe3d930f2aefc97af68d16

[CL 21441167 by George Rolfe in ue5-main branch]
2022-08-18 09:40:40 -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
Jimmy Andrews
c21b7d49f3 Add new oriented box fit variant that starts from the fast DiTO box and optimizes the fit iteratively
+ Add ProgressCancel to box fits
+ Change editor code to use the new fit algorithms

#rb rinat.abdrashitov
#rb david.hill
#preflight 62f15a2ba035cdf05ea4d1b7

[CL 21273458 by Jimmy Andrews in ue5-main branch]
2022-08-08 15:20:28 -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
55f9b1e1de GeometryProcessing and tests: enable implicit type conversion warnings.
#preflight 62d96d6723003b62a3c134f8
#rnx

[CL 21201814 by David Hill in ue5-main branch]
2022-07-21 11:48:13 -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
David Hill
9f5eeac1e3 Geometry: Suppress type conversion warnings in third party on clang
#preflight 62d6fdcdd54af4b9a29176a2
#rnx

[CL 21185144 by David Hill in ue5-main branch]
2022-07-20 14:04:32 -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
3feeb2386c Geometry: fix clang warning on android with 3rd party code.
#preflight none
#rnx

[CL 21165207 by David Hill in ue5-main branch]
2022-07-19 14:27:26 -04:00
David Hill
612f70bd55 GeometryCore, GeometryProcessing: Add pragmas to suppress implicit type conversion warnings when compiling third party code.
Predicates.cpp and  xaltas.cpp

#preflight 62d6cf9d1133256db6e4624a
#rb Jimmy.Andrews

[CL 21164760 by David Hill in ue5-main branch]
2022-07-19 13:53:50 -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
Jimmy Andrews
5214f714b5 Add a new FitOrientedBox3 algorithm
+ fixes to the similar Gte algorithm and to FitOrientedBox2
+ Add a Contain(Array) for TAxisAlignedBox3
+ Add option to save triangle adjacencies on computed 3D convex hull (since we already compute them)
+ Fix plane returned for degenerate convex hull result when Dimension=2
+ Let FitOrientedBox2 functions take a custom best-fit function, so that they can be used in the inner loop of FitOrientedBox3 when searching for the best-fit surface area

#rb david.hill
#preflight 62d56a783c3df32390b32263

[CL 21149570 by Jimmy Andrews in ue5-main branch]
2022-07-18 12:17:27 -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