#rnx
#rb none
#ROBOMERGE-SOURCE: CL 10869240 via CL 10869516 via CL 10869902
#ROBOMERGE-BOT: (v613-10869866)
[CL 10870584 by ryan durand in Main branch]
- Test rows from longest to shortest to get rid of one inner loop in the hot path
- Add lookup table to skip another free segment inner loop in the hot path
- Added island hashing to skip directly to last known best position
- Split loops, simplify code and add comments for clarity
- Reduce data copying and clearing to working area only
- Multithreaded initial scale search when complexity is high enough
- Added a segment grid along the Y axis for more efficient search of taller island
- Added ability to log packing stats per island in Insights to understand algorithmic behavior
- Now able to pack 300k islands on a 2048x2048 texture in under 60s using 4 cores
- Improvements made while maintaining backward compatibility (same output as before)
- 52m16s -> 80s for DATASET-0002a (foliage)
- 148s -> 105s for DATASET-0008a
- 333s -> 8.5s for DATASET-0020a (house) using 2048x2048 MinResolution
- Improvements made while activating segments in 2D including packing efficiency improvements
- 52m16s -> 14s (efficiency 95.52% -> 97.68%) for DATASET-0002a (foliage)
- 148s -> 105s (efficiency 63.3% -> 63.3%) for DATASET-0008a
- 333s -> 6s (efficiency 93.5% -> 98.57%) for DATASET-0020 (house) using 2048x2048 MinResolution
From dev-enterprise[at]9485619
#jira UE-82137
#rb Johan.Duparc, JeanMichel.Dignard
#ROBOMERGE-SOURCE: CL 9730840 in //UE4/Release-4.24/...
#ROBOMERGE-BOT: RELEASE (Release-4.24 -> Main) (v539-9700858)
[CL 9730842 by danny couture in Main branch]
#rb none
#jira none
#ROBOMERGE-SOURCE: CL 4924595 in //UE4/Release-4.22/...
#ROBOMERGE-BOT: RELEASE (Release-4.22 -> Main)
[CL 4924599 by johan duparc in Main branch]
UV packing issue for geometries with high chart count
#jira UE-69450
#jira UE-56602
#jira UE-56555
#jira UEENT-322
#rb JeanMichel.Dignard
#ROBOMERGE-SOURCE: CL 4923742 in //UE4/Release-4.22/...
#ROBOMERGE-BOT: RELEASE (Release-4.22 -> Main)
[CL 4923746 by johan duparc in Main branch]
The IMPLEMENT_MODULE macro now defines an empty function called IMPLEMENT_MODULE_{ModuleName}, to which we force a reference to via the linker command line. This behavior can be disabled on a per-module basis by setting bRequiresImplementModule = false from a .build.cs file.
#rb none
[CL 4827582 by Ben Marsh in Main branch]
Add a generic opaque mesh view interface FLayoutUV::IMeshView to abstract mesh data access and allow FLayoutUV to be used with any mesh type in any module.
Replaced few instances of using an old version of overlapping corners data structure (multi-map) with new specialized FOverlappingCorners container.
#rb Alexis.Matte
#rb Brian.Karis
[CL 4242975 by Yuriy ODonnell in Dev-Editor branch]