Commit Graph

443 Commits

Author SHA1 Message Date
steve robb
f029468598 Fixed up a lot of bool-taking container resize functions to take EAllowShrinking instead.
[CL 30729174 by steve robb in ue5-main branch]
2024-01-19 16:41:35 -05:00
steve robb
f70478d4f0 Moved some bool-taking container wrappers over to using EAllowShrinking.
FGraphAStar::PopIndex() isn't passing on its argument to the container - that existing behavior has been retained.

#rb james.hopkin
[FYI] Yoan.StAmant

[CL 30712410 by steve robb in ue5-main branch]
2024-01-19 05:12:44 -05:00
marc audy
19e84555b3 Silence PVS warnings
[CL 30653812 by marc audy in ue5-main branch]
2024-01-17 01:34:02 -05:00
frederic doll
74e9aa89e7 Add way to retrieve the real allocated memory size of a Point Provider Cluster
#rb sarah.noonan
[FYI] karl.dubois

[CL 30579508 by frederic doll in ue5-main branch]
2024-01-11 16:57:26 -05:00
marc audy
26e65d08c3 Silence PVS warnings
[CL 30538540 by marc audy in ue5-main branch]
2024-01-10 11:38:07 -05:00
jimmy andrews
143832d436 Add support for inverting Transform Sequences, appending inverses of transforms to Transform Sequences, and for testing if a TTransformSRT3 can represent its own inverse (to help efficiently represent Transform Sequence inverses)
#rb tyson.brochu

[CL 30354915 by jimmy andrews in ue5-main branch]
2023-12-15 13:56:09 -05:00
jimmy andrews
ebc890fa52 Update TQuaternion::EpsilonEqual to account for the Quaternion == -Quaternion case, and add an IsIdentity() method
#rb David.Hill

[CL 30328545 by jimmy andrews in ue5-main branch]
2023-12-14 14:47:41 -05:00
frederic doll
1812dc98a3 Add Douglas Peucker simplification algorithm to TPolyline
#rb Jimmy.Andrews

[CL 30299715 by frederic doll in ue5-main branch]
2023-12-13 14:24:10 -05:00
tyson brochu
70590a4eaa FDynamicMesh: add a CanCollapseEdge function to check if an edge collapse might fail before actually trying it
#jira UE-174510
#rb Jimmy.Andrews

[CL 30220298 by tyson brochu in ue5-main branch]
2023-12-08 16:58:02 -05:00
jimmy andrews
1fb821235a make negative space sampling default to 'deterministic' mode, and make that mode sort the vertices after marching cubes has run rather than disabling parallelism during marching cubes.
also always run the point prioritization step, and don't early-stop it if we may take more samples than the minimum requested.
#rb rinat.abdrashitov

[CL 30169822 by jimmy andrews in ue5-main branch]
2023-12-06 17:30:20 -05:00
jimmy andrews
38de04a6ad remove redundant init of negative space mapping in convex decomposition on Compute(), since it is already initialized by the function which adds it
#rb tyson.brochu

[CL 30166840 by jimmy andrews in ue5-main branch]
2023-12-06 15:51:04 -05:00
ryan schmidt
d205e117bb GeometryProcessing: various utility functions to assist with rounded bevels implementation
- add 2D version of VectorTanHalfAngle to VectorUtil.h
- add FDynamicMeshUVEditor::SetToPerVertexUVs, initializes overlay to have a single UV for each vertex
- add FQuadGridPatch::InitializeFromQuadPatch(), initializes the quad grid from external rows of quads and associated vertices
- add FQuadGridPatch::GetVertexColumn(), returns the list of vertices in a specific grid column
- add FQuadGridPatch::FindColumnIndex(), finds the index of the grid column that contains a specific Vertex ID
#rb rinat.abdrashitov

[CL 30166232 by ryan schmidt in ue5-main branch]
2023-12-06 15:32:17 -05:00
jimmy andrews
bca502e8cd Fix convex decomposition's min sample spacing test to run after finding the final sample location, rather than running on the initial estimate location, so it will function as intended when the samples are placed far from their initial estimate locations.
#rb rinat.abdrashitov

[CL 30053523 by jimmy andrews in ue5-main branch]
2023-12-01 16:17:39 -05:00
jimmy andrews
709a94dbbd Add a method to remove unused vertices from a dynamic mesh, and expose it to geometry script
#rb tyson.brochu

[CL 30048365 by jimmy andrews in ue5-main branch]
2023-12-01 14:14:28 -05:00
jimmy andrews
b2f3167702 put the exact triangle intersection find-segments branch in an 'else' to prevent the compiler from complaining about unreachable code when it takes the other constexpr if branch
#rb rinat.abdrashitov

[CL 29966777 by jimmy andrews in ue5-main branch]
2023-11-28 14:36:08 -05:00
marc audy
763a611985 Fix C4072 warnings
#rnx

[CL 29852844 by marc audy in ue5-main branch]
2023-11-20 17:26:53 -05:00
jimmy andrews
bf3ae9cbd2 better simple collision level set visualization: add optional marching-cubes-based level set triangulation to the simple-collision->mesh utility functions and use the new marching cubes triangulation in tools + optionally in geometry script's append simple collision function.
also do some cleanup / generalization of the utility functions and change geometry script's append simple collision function to use them.

#rb David.Hill

[CL 29763193 by jimmy andrews in ue5-main branch]
2023-11-15 18:04:18 -05:00
charles bloom
108b030948 Texture preventative fixes; clarify some mip locking code and fix 64 bit issues
#rb fabian.giesen
#rnx

[CL 29759416 by charles bloom in ue5-main branch]
2023-11-15 16:30:26 -05:00
jimmy andrews
d0ca302cab in convex decomposition helper function, fix mismatch between parameters listed in comment and actual parameters in method
#rb matija.kecman

[CL 29521381 by jimmy andrews in ue5-main branch]
2023-11-07 10:54:19 -05:00
jimmy andrews
f55e6088b8 Add support for negative space protection in the 'splitting' part of the convex decomposition algorithm + associated initialization / support functions
#rb matija.kecman

[CL 29498286 by jimmy andrews in ue5-main branch]
2023-11-06 15:40:07 -05:00
jimmy andrews
78d8ab4884 deprecate convex decomposition's negative space compute's assumption of default-flipped triangle orientations by making the triangle orientation an explicit function parameter (rather than a settings struct member) and deprecating the old function w/out this parameter.
#rb matija.kecman

[CL 29321127 by jimmy andrews in ue5-main branch]
2023-11-01 12:20:40 -04:00
jimmy andrews
609a443699 Fix performance and memory issues when merging a large number of collision shapes:
- More aggressively prune the cache of computed merge shapes after it reaches a threshold size
 - By default compute a proximity graph based on actual proximity, not the full n^2 possible connections
 - After finding the best of a number of possilbe merges, optionally only look for local improvements to the current best rather than doing a full search for the absolute best connection.

#rb david.hill, shaun.kime

[CL 29158488 by jimmy andrews in ue5-main branch]
2023-10-26 20:24:56 -04:00
don boogert
b9b8d95175 Landscape: Use PointHashGrid2 to weld coincident points
* Removed old ExportToRawMesh function and CVar `landscape.Nanite.MarchingSquaresVisibility`
* Make Landscape Nanite build less noisey in the logs
* GeometryCore - Added Reserve to TPointHashGrid2 (to match TPointHashGrid3)

#jira UE-194086
#rb jonathan.bard

[CL 29025960 by don boogert in ue5-main branch]
2023-10-23 21:04:53 -04:00
jimmy andrews
4990e4f977 fix geometrycore Polygon2::Simplify's handling of case when initial close-point-removal reduces polygon to two points
#rb rinat.abdrashitov

[CL 28879780 by jimmy andrews in ue5-main branch]
2023-10-18 12:05:48 -04:00
jimmy andrews
dcdd199f26 expose out convex decomposition negative space's voxel search 'min voxels per dimension' parameter to the setting structs, rather than hardcoding it as 128
#rb tyson.brochu

[CL 28877619 by jimmy andrews in ue5-main branch]
2023-10-18 11:04:33 -04:00