7 Commits

Author SHA1 Message Date
marc audy
a75b48030b More compressible Nanite disk format (typically ~10% smaller after compression)
-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]
2023-08-16 00:39:49 -04:00
rune stubbe
5bf901e8c4 Fixed an issue where some Nanite meshes would appear corrupted because their vertex attributes were not decoded correctly
#rb jamie.hayes
[FYI] brian.karis, graham.wihlidal

[CL 25032752 by rune stubbe in ue5-main branch]
2023-04-13 17:08:19 -04:00
rune stubbe
30e20b54dc Moved buffer objects out of FBitStreamReaderState/FBitStreamWriterState to make it compile on compilers that don't support buffers in structs.
Fixed typo causing character to melt.

#rb lukas.hermanns
#preflight 612fa77c9db3090001c34f45


#ROBOMERGE-SOURCE: CL 17388849
#ROBOMERGE-BOT: (v865-17346139)

[CL 17390057 by rune stubbe in ue5-main branch]
2021-09-01 14:03:12 -04:00
peter sumanaseni
b661496d98 Back out changelist 17383956
#rune.stubbe #josie.yang
#preflight


#ROBOMERGE-SOURCE: CL 17386856
#ROBOMERGE-BOT: (v865-17346139)

[CL 17388422 by peter sumanaseni in ue5-main branch]
2021-09-01 12:13:22 -04:00
rune stubbe
089fba2657 Moved buffer objects out of FBitStreamReaderState/FBitStreamWriterState to make it compile on compilers that don't support buffers in structs
#rb lukas.hermanns
#preflight 612e523a79d62b0001953539


#ROBOMERGE-SOURCE: CL 17383956
#ROBOMERGE-BOT: (v865-17346139)

[CL 17384499 by rune stubbe in ue5-main branch]
2021-09-01 05:59:23 -04:00
rune stubbe
624e1ff814 Give BitStreamReader_Create/BitStreamReader_Create_Aligned overloads unique names to fix shader compilation issues on certain compilers.
#rb lukas.hermanns
[FYI] graham.wihlidal


#ROBOMERGE-SOURCE: CL 16658432
#ROBOMERGE-BOT: (v834-16658389)

[CL 16659805 by rune stubbe in ue5-main branch]
2021-06-14 12:28:21 -04:00
rune stubbe
6b332a6ab5 Progress on Nanite compression. ~19% on AncientGame.
Pages can now refererence data from the parent page.
Page transcoding is now batched based on page dependencies.
Removed Nanite's LZ container for platforms that don't have hardware LZ. Rely on iostore compression instead. ~4% disk saving. 32mb system memory saving from temp buffer.
Better integer-based UV quantization code similar to new position quantization.
Got rid of remaining old position quantization code.
Reduced float4s per cluster from 8 to 6. ~2% memory density.
Added BitStreamReader support for reading from UAV. Needed to reference parent data.
#rb graham.wihlidal
[FYI] brian.karis


#ROBOMERGE-SOURCE: CL 16621364
#ROBOMERGE-BOT: (v830-16605563)

[CL 16621388 by rune stubbe in ue5-main branch]
2021-06-10 08:09:23 -04:00