Example config in Editor.ini:
[Names]
PreallocateNames=10485760
PreallocateNameMemoryMB=900
#rb ben.zeigler
[CL 27883674 by robert millar in ue5-main branch]
FResources::NumClusters now reflects the number of clusters after trim, not before.
#rb brian.karis
[FYI] graham.wihlidal, jamie.hayes
[CL 27830347 by rune stubbe in ue5-main branch]
Enabled by default. When disabled UVs are not lerped in the simplifier. This is useful when data stored in UVs isn't valid to interpolate, for example indexes.
Fixed long standing bug where locked boundary verts still would get attributes recalculated when taking part in an edge collapse. This results in them not matching when later merged with their neighbor, causing attribute discontinuities where they previously weren't. That will degrade further simplification, bloat vertex work, bloat vertex storage, and generally look worse.
Can reduce rendered vertex count by 14% and disk size by 3%.
#rb rune.stubbe, graham.wihlidal
#lockdown marc.audy
[CL 27715715 by Brian Karis in ue5-main branch]
- Comparing A==B will return true for NaN depending on the FP mode, so we now compare if both values are finite before comparing for equality.
- This does not fix the source of the error, but will stop all subsequent float values being set to NaN
#rb rob.krajcarski
#jira UE-194597
[CL 27694043 by stu mckenna in ue5-main branch]
- New special case path through the translator to support Engine.Emitter.ID. Into which we hard code the emitter's handle index to pass to the DI's later.
- Also included Engine.ExecIndex here.
- Adding EmitterID to SpawnConditional and including upgrade path.
- Removed unused Spawn function from read DI + supporting code.
- Slight tidy and refactor of Read DI.
- Expose EmitterIndex to translator to be made into the EmiterID
[CL 27669572 by simon tovey in ue5-main branch]
Fixed NANITE_SANITY_CHECK_STREAMING_REQUESTS path so it compiles again and reduced size of Magic to make room for wider page indices.
Changed independent coding of PageIndex and ClusterIndex in FVisibleCluster to a smaller combined encoding.
Added more descriptive error messages when running out of pool space.
#rb graham.wihlidal
[FYI] brian.karis, jamie.hayes
[CL 27504613 by rune stubbe in ue5-main branch]
Fixing this bug allows enabling the parallel SubmitJobs optimization once again. Parallel SubmitJobs, combined with the bug of incompatible sharing of results, meant that single shader jobs would sometimes use pipeline results, leading to runtime crashes. Single threaded job submit hid the bug, because single shader jobs were always issued first, and took precedence over pipeline jobs in the cache. Other minor changes: validate input hash in the output data returned by shader compiler tasks or workers, and use a reference pointer in code that attempts to change job priority, to ensure it can't be deleted by another thread during that time.
#rnx
#rb jason.nadro dan.elksnitis
[CL 27133038 by jason hoerner in ue5-main branch]
-Delta code vertex attributes and cluster refs
-ZigZag code deltas
-Store them as whole bytes
-Split high/mid/low bytes into separate streams
Transcode
-Transcode is now split into an independent pass and a number of dependent passes
-Launch a group per cluster instead of launching a group per potential cluster in a page and have them early out
Got rid of unused vertex color mode: NANITE_VERTEX_COLOR_MODE_WHITE
#rb brian.karis
[FYI] graham.wihlidal, jamie.hayes
#jira
[CL 27132972 by marc audy in ue5-main branch]
Clusters already have a max range for position. An additional exponent bit has been added to the position encoding to cover that range.
Added sanity check to make sure the largest possible cluster bound can always be encoded with the current position encoding parameters.
#rb jamie.hayes
[FYI] brian.karis, graham.wihlidal
[CL 26630917 by rune stubbe in ue5-main branch]
Disk pages sizes can now have arbitrary sizes, but are assumed to rarely be more than ~1.5x when reserving memory or sizing the upload staging buffer.
#rb ola.olsson
[FYI] brian.karis, graham.wihlidal, jamie.hayes
[CL 26534981 by rune stubbe in ue5-main branch]
When UE_FNAME_OUTLINE_NUMBER is enabled the number is part of the name entry so we can format the name before tracing it.
#rb robert.millar,johan.torp
#jira UE-189546
[CL 26340314 by johan berg in ue5-main branch]
-Replaced slow doubly-linked list LRU with array based LRU
-Replaced hash tables for mapping virtual pages to physical pages with direct lookups (+2 dwords per virtual page)
-Removed custom hash table for fast request deduplication (FRequestsHashTable)
-Trimmed one dword from FPageStreamingState (-1 dword per virtual page)
-Made a direct mapping from RuntimeResourceID to root page / FResource to avoid more expensive hashmap lookups
-Cache array of virtual page dependencies for resident pages to accelerate parent traversal
-Improved locality of assignment of groups to pages. Reduces streaming pool memory requirements by ~3-4%
Added Magic word to FFixupChunk to make it easier to identify corrupt data
#rb graham.wihlidal
[FYI] brian.karis, jamie.hayes
[CL 26080397 by rune stubbe in ue5-main branch]
- AtomPrimitive now has geometry container objects, each one holding geometry corresponding to a given export style as bulk data
- Removed all scaling from common parts transforms, connection fields, collision and bounds. AtomPrimitive is now coordinate system agnostic. Deprecated old accessors and fixed up all code assuming baked scale.
- Flex element refactor - now FBX with bones / skinning can be imported, and the bone / skinning attributes held in the generated mesh description. The default pose is that of the reference skeleton in the FBX scene.
- Added new mesh utilities for baking a flex element to a static mesh in a given bone pose.
- Added a range of Blueprint callable functions for the purpose of processing geometry from a Model Processor.
- Refactored common parts instance importing to handle differences between different export style geometry.
#rb
#preflight 646f1f1b2c0a5da0dc7ce5a0
[CL 25635559 by richard talbotwatkin in ue5-main branch]
Also removed unneeded IterateNumberedNames
Only impacts UE_FNAME_OUTLINE_NUMBER
#rb robert.millar
#preflight 6464ec2a317ee2d9d14bc72f
#rnx
[CL 25540926 by johan torp in ue5-main branch]