This CL adds improved serialization for FDynamicMesh3 and its data structures:
- FDynamicMesh3, TDynamicVector, FRefCountVector, FSmallListSet, TDynamicMeshOverlay, ...
- Versioning using the UE5Main stream version
- Discarding redundant data
- Oodle compression
- Serialization of vertex skin weights
- Additional unit tests and benchmark
#jira UETOOL-3821
#preflight 6145b802c2c19000017e2f6f, 6145b81ea7246e00017b1a43
#ROBOMERGE-AUTHOR: michael.balzer
#ROBOMERGE-SOURCE: CL 17563009 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v870-17433530)
[CL 17563024 by michael balzer in ue5-release-engine-test branch]
GeometryCore: add RevolveGenerator, generates surface-of-revolution meshes for open and closed profiles, the latter w/ spirals. Port of more general code in CurveSweepOp/RevolveProperties to expose at lower levels (needs further code cleanup)
#rb none
#rnx
#jira none
#preflight 6144ca01c2c19000014c9463
#ROBOMERGE-AUTHOR: ryan.schmidt
#ROBOMERGE-SOURCE: CL 17555809 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v870-17433530)
[CL 17555838 by ryan schmidt in ue5-release-engine-test branch]
This CL fixes an issue where we accidentally allocate three times the amount of necessary triangles during `CompactInPlace()`. I also added a test during `CheckValidity()` to make sure that if we have dense ref counts the size of the vertex/triangle vectors is identical to the number of ref counts.
#rb jimmy.andrews
#preflight 61401b977dae460001e27ebe, 61401bbc878eef000160df3d
#ROBOMERGE-AUTHOR: michael.balzer
#ROBOMERGE-SOURCE: CL 17500874 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v870-17433530)
[CL 17500882 by michael balzer in ue5-release-engine-test branch]
#ROBOMERGE-AUTHOR: david.hill
#ROBOMERGE-SOURCE: CL 17461087 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v870-17433530)
[CL 17461097 by david hill in ue5-release-engine-test branch]
MeshGeodesicSurfaceTracer.{h,cpp} - Add embedded path tracing.
GeodesicSurfaceTracerTests.cpp - unit tests for embedded path tracing
IntrinsicTriangulationMesh.{h, cpp} - Adds two Intrinsic Triangulation mesh types (the more sophisticaed requires embedded path tracing)
IntrinsicMeshTests.cpp - unit tests for Intrinsic mesh types.
MeshLaplacian.{h,cpp} - Adds new enum types for Intrinsic Delaunay Triangulation (IDT) Laplacians
LaplacianOperators.{h,cpp} - Adds wrappers and allow enum switches to build IDT Laplacians if requested
LaplacianMatrixAssembly.h - Actually construction of IDT Laplacian.
Laplacian.cpp - Added trivial unit test for construction of IDT Laplacian
#rb jimmy.andrews
#preflight 6138bca42d09b9000158c95a
#ROBOMERGE-AUTHOR: david.hill
#ROBOMERGE-SOURCE: CL 17458853 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v870-17433530)
[CL 17458863 by david hill in ue5-release-engine-test branch]
Additionally adds a new parameter to the DynamicMesh MergeEdge method to ignore orientation discrepancies, useful in 2D mesh manipulation, and fixes a bug in the SetTriangle method where a variable was being left uninitialized.
#rb semion.piskarev
#rnx
#jira UETOOL-3112
#ROBOMERGE-SOURCE: CL 17328444 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v861-17282326)
[CL 17328460 by nathan mitchell in ue5-release-engine-test branch]
This CL adds a unit test and some related basic infrastructure for testing the backwards compatibility of our FDynamicMesh3 serialization. This is in anticipation of the incoming serialization changes.
#jira UETOOL-3821
#rb lonnie.li david.hill
#preflight 6125e930af9a8f0001691400, 6125e96a72e9eb0001f69cd3
#rnx
#ROBOMERGE-SOURCE: CL 17310112 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v861-17282326)
[CL 17315105 by michael balzer in ue5-release-engine-test branch]