Commit Graph

187 Commits

Author SHA1 Message Date
matija kecman
998174e108 Render Capture Baking: Reimplement infill in new baking framework using callbacks
#rb lonnie.li
#rnx
#preflight 627a5feffc07e0a9b4fda490
#jira none

[CL 20121863 by matija kecman in ue5-main branch]
2022-05-10 09:01:17 -04:00
David Hill
bc7cab5826 Geometery Core: extends the blocked 3d grids and adds narrow band sparse SDF generation using these blocked grids.
unittests are included for the blocked grids and sdf generation, as well as benchmarks for sdf generation.
( This CL flushes out an old shelf of Ryan's.)

#preflight 62713371fe09c0cfbc3719a1
#rb Tyson.Brochu

[CL 20042490 by David Hill in ue5-main branch]
2022-05-04 11:28:18 -04:00
Jimmy Andrews
dca6504e55 fix type mismatches in GeometryCore DynamicVector and RefCountVector
#rb david.hill
#preflight 62713d28e16e280be60f166d

[CL 20025789 by Jimmy Andrews in ue5-main branch]
2022-05-03 10:49:24 -04:00
ryan schmidt
a20c04fa0f Fix indexing bug in FStaticMeshLODResourcesToDynamicMesh::Convert. Remove unnecessary template type on TImageBuilder::SampleNearestUV
#preflight 626c00ac7272eba608712119

#ROBOMERGE-AUTHOR: ryan.schmidt
#ROBOMERGE-SOURCE: CL 19979955 via CL 19980094 via CL 19980365
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v943-19904690)

[CL 19985827 by ryan schmidt in ue5-main branch]
2022-04-29 17:04:42 -04:00
Jimmy Andrews
20f8e9cd7e Make a new triangulation fill mode that supports explicit boundary and hole edges
Update Arrangement2d's triangulation functions to use that fill mode, and also to be explicit about whether the boundary group is expected or not

#rb david.hill
#rb rinat.abdrashitov
#preflight 6269606c8c2782e4f2327a34

[CL 19941732 by Jimmy Andrews in ue5-main branch]
2022-04-27 12:30:18 -04:00
brandon dawson
aef20889f4 Add IsInsideOrOn method to the circle type
#preflight 6266e9859337eeaec40226e3

#ROBOMERGE-AUTHOR: brandon.dawson
#ROBOMERGE-SOURCE: CL 19937737 via CL 19937757 via CL 19937767
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v943-19904690)

[CL 19939041 by brandon dawson in ue5-main branch]
2022-04-27 10:06:45 -04:00
ryan schmidt
1fa75e7ad9 GeometryScript: add SampleTexture2DAtUVPositions function that returns texture colors (nearest or bilinear sampled) at UV positions.
GeometryProcessing: add TImageBuilder::NearestSampleUV() function to simplify nearest sampling
#preflight 62682fc8430b9997ebe6a47d

#ROBOMERGE-AUTHOR: ryan.schmidt
#ROBOMERGE-SOURCE: CL 19928418 via CL 19928912 via CL 19929469
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v943-19904690)

[CL 19931478 by ryan schmidt in ue5-main branch]
2022-04-26 19:04:45 -04:00
matija kecman
929525effb Render Capture Baking: Support correspondence sample validity checking, use BSpline filtering and enable multisampling
#rb lonnie.li
#rnx
#jira none
#preflight 6262d4dbd558dfdec3934905

[CL 19899614 by matija kecman in ue5-main branch]
2022-04-25 05:41:52 -04:00
tyson brochu
087f3b0d0f Remesh Tool: initial implementation of (optional) boundary constraint projection:
- Constrained edges along a boundary are allowed to collapse, and vertices are allowed to move, but they are projected back to the original boundary curve geometry
- Additionally, vertices at boundary "corners" (defined using an angle threshold criterion) are constrained to not move or be deleted


#jira UE-149616
#rb rinat.abdrashitov
#preflight
#preflight 6262dc97e87284a93cd6bd44

[CL 19867177 by tyson brochu in ue5-main branch]
2022-04-22 12:56:47 -04:00
Steve Robb
f4d1564ffe New BitCast<>() function which works like C++20's std::bit_cast<>().
Deprecation of FPlatformMath::IsNegative*() functions.
New FPlatformMath::IsNegativeOrNegativeZero().
Fix up of existing usage to either use < 0 or IsNegativeOrNegativeZero where appropriate.
Fixes for aliasing problems in various FMath functions, including IsNegative*().

Resubmission of CL# 19833778 with fixes for problematic Mac and Android toolchains, causing spurious errors while building PCHs.

#rb devin.doucette, charles.bloom, will.damon, chris.babcock
#jira UE-148435
#preflight 6260764d91376845adf9893f

[CL 19840896 by Steve Robb in ue5-main branch]
2022-04-20 19:05:47 -04:00
Jimmy Andrews
cd48240c04 fix CIS asan failure: exact predicates accessing 1 past the end of local stack arrays
#jira UE-149726
#rb tyson.brochu
#preflight 6260735673187d30d0c4989d

[CL 19838426 by Jimmy Andrews in ue5-main branch]
2022-04-20 17:23:03 -04:00
Steve Robb
5c1f45e9a8 Undo //UE5/Main/Engine/... changelist 19833778 due to Mac and Android compilation failure.
#rb none
#jira none
#preflight none
#fyi will.damon

[CL 19835840 by Steve Robb in ue5-main branch]
2022-04-20 15:09:51 -04:00
Steve Robb
a9e89c3ed6 New BitCast<>() function which works like C++20's std::bit_cast<>().
Deprecation of FPlatformMath::IsNegative*() functions.
New FPlatformMath::IsNegativeOrNegativeZero().
Fix up of existing usage to either use < 0 or IsNegativeOrNegativeZero where appropriate.
Fixes for aliasing problems in various FMath functions, including IsNegative*().

#rb devin.doucette, charles.bloom
#jira UE-148435
#preflight 625ece48f16e0d2accab15d9

[CL 19833778 by Steve Robb in ue5-main branch]
2022-04-20 13:38:10 -04:00
matija kecman
9717d7fa19 Modeling Tools: Fix some incorrect comments
#rb lonnie.li
#rnx
#jira none
#preflight 625e77029c09ef439d8b5c4b

[CL 19805534 by matija kecman in ue5-main branch]
2022-04-19 05:05:04 -04:00
jonathan adamczewski
78010a6fff MeshWindingNumberGrid.h: Don't proceed through Compute() if the bounding volume is empty.
Avoids overflow errors from msvc for certain target configurations.

#jira none
#rb halfdan.ingvarsson
#rnx
#preflight 625dfa31b72cfbaf9626f1f4

[CL 19798652 by jonathan adamczewski in ue5-main branch]
2022-04-18 20:08:49 -04:00
jonathan adamczewski
5a8e211992 Add some missing #includes
#jira none
#rnx
#trivial
#preflight 625df492b72cfbaf9624e8af

[CL 19798322 by jonathan adamczewski in ue5-main branch]
2022-04-18 19:39:12 -04:00
Jimmy Andrews
106e92e91f Add PolyPath functionality to Geometry Script
PolyPath is an optionally-closed polyline/polygon with 3D vertices + some utility functions and automatic conversion to/from arrays

Also add a USplineComponent->PolyPath conversion function

#rb lonnie.li
#preflight 625dbb5348670f31a626cc9f

[CL 19792613 by Jimmy Andrews in ue5-main branch]
2022-04-18 15:46:38 -04:00
Jimmy Andrews
b91c89e1b4 improve convex decompositions by adding a concept of 'too thin' parts that the decomposition must remove in the merge phase
also fix handling of splitting into connected components when some of the components don't have a valid convex hull (by bailing on the component split in that case)

#rb rinat.abdrashitov
#preflight 6255ec9eef3d24a90eb4e00f

[CL 19730210 by Jimmy Andrews in ue5-main branch]
2022-04-12 17:42:14 -04:00
Jimmy Andrews
ec5013e106 change FArrangement2d and TConstrainedDelaunay2 to use new FDelaunay2 code for triangulations
#rb david.hill
#preflight 6247dfee3a5a4c1622eb077b

[CL 19628412 by Jimmy Andrews in ue5-main branch]
2022-04-05 14:07:13 -04:00
Jimmy Andrews
4f0c122342 Add optional error tolerances to guide convex decomposition
#rb tyson.brochu
#preflight 62465633df7d23dbfe12e1f7

[CL 19582884 by Jimmy Andrews in ue5-main branch]
2022-03-31 21:49:52 -04:00
Jimmy Andrews
9d14bf8718 Initial version of a convex decomposition algorithm
Works by trying a bunch of plane cuts to break reduce the volume of the convex pieces, then merging them back together to remove those that were not helpful.  We need the merge step especially for meshes where it takes multiple plane cuts to start reducing the hull volumes, as the initial cuts in that case are not informed by the error metric.

#rb tyson.brochu
#rb matija.kecman
#preflight 624614b1b6084b98324d2059

[CL 19578614 by Jimmy Andrews in ue5-main branch]
2022-03-31 17:09:04 -04:00
frederic doll
f5701545f8 Fix for AABB FindIntersection with ray : fill the RayParamOut value to be able to get the intersection point
#rb jimmy.andrews

#ROBOMERGE-AUTHOR: frederic.doll
#ROBOMERGE-SOURCE: CL 19557359 via CL 19557368 via CL 19557404 via CL 19557417
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v937-19513599)

[CL 19561882 by frederic doll in ue5-main branch]
2022-03-30 14:52:23 -04:00
tyson brochu
768cfab5db Add scalar weight maps to DynamicMeshAttributeSet
- Allow the Attribute Editor Tool to add/delete weight maps from DynamicMesh targets.
- Enable transferring scalar weight maps back and forth between DynamicMesh and MeshDescription.
- Serialize TDynamicAttributeBase::Name when its subclasses are serialized

#rb nathan.mitchell
#preflight 62439b2ab6084b9832307f6e

[CL 19551734 by tyson brochu in ue5-main branch]
2022-03-29 20:04:24 -04:00
Jimmy Andrews
271266b464 Add a vertex-based connected components class that can be used with any TriangleMeshType and supports connecting based on spatial proximity as well as triangle topology
#rb matija.kecman
#preflight 6241d7cc5e39ec66db053828

[CL 19529088 by Jimmy Andrews in ue5-main branch]
2022-03-28 12:26:04 -04:00
Jimmy Andrews
dc806da34f Delaunay triangulation algorithm improvements:
- fix bug with detection of vertices on the solid segment of a ghost triangle
 - detect when 'fill' of a triangulation is ambiguous under winding rules (e.g. due to open edges)
 - optionally automatically track duplicate vertices and remap duplicate-vertex references to the vertex that was actually inserted

#rb rinat.abdrashitov
#preflight 623e11a9982d12a89973cdec

[CL 19521151 by Jimmy Andrews in ue5-main branch]
2022-03-25 23:09:50 -04:00