Channel packing
Meerdere losse grijswaardenmaps in de R-, G-, B- en A-kanalen van één texture proppen om geheugen en texture-fetches te besparen.
Een metallic-roughness-workflow heeft aparte maps nodig voor ambient occlusion, roughness en metallic, maar elk daarvan is een beeld met één kanaal, en dus verspilling als drie volledige RGB-textures. Samengevoegd in één RGBA-texture (de gangbare ORM-indeling: occlusion-roughness-metallic) daalt het geheugengebruik tot een derde en, belangrijker, kan een shader alle drie met één sample uitlezen in plaats van drie.
De keerzijde: zulke maps moeten niet worden gecomprimeerd of van mipmaps voorzien alsof het kleur is. Blokcompressie en sRGB-curves gaan uit van gecorreleerde kanalen, en ongecorreleerde data verstoort beide. Teams kiezen een lineair formaat of accepteren wat kleurlekkage. Bij een normal map worden de twee betekenisvolle kanalen soms ernaast verpakt, waarbij de shader het derde reconstrueert.