branchrust_reboot/main/texture_optimisations_2026cancel
30 Commits over 31 Days - 0.04cph!
Resized the last few remaining LOD textures
More LOD texture optimizations
Rebaked some textures and adjusted LOD distances
Even more LOD texture optimizations
More LOD texture optimizations
LOD texture optimizations
Rebaked some LOD textures and adjusted LOD distnaces
merge from lod_texture_optimization
Couple more texture res reductions (floating city sign decals / ziggurat related ones)
Texture optimisations to some apartment textures (reducing size) and floating walkway LOD textures
9 alpha-less BC7 albedo/em maps -> DXT1, 3 also halved (retro cupboard ems, m16a2_02, loot barrel): saved ~28 MB VRAM, no alpha lost
no visual quality difference
Regenerated MaterialIndex.json - was dated Aug 2021, so Tools/Optimize/Find Material Optimzations had been reporting 5-year-old state. Fresh scan covers 9,055 materials and flags 164 with compression savings (84 unique textures, ~68 MB VRAM potential) for example m16a2 ao on high quality compression = 1.3mb, normal compression with no visual cost = 0.7mb
First pass on the free wins: 15 alpha-less DXT5/BC7 textures -> DXT1, ~13 MB VRAM, no quality cost
- m2bradley mainbody/armor: removed DXT5 standalone override (5.3 MB)
- m16a2 AOs x3, flamethrower AO: HQ -> Normal compression (5.3 MB)
- workbench upgrade AOs x2, apartment door mats AO, crate_2/gib/webbing AOs: HQ -> Normal compression (2.2 MB)
ao rreduction & optimisation pass on some structure assets
they were shipping 2k ao textures, now resized but visually no difference.
11 ao maps touched, 9 were shipping at 2k
vram 25.3MB -> 2.2MB
some more tweaks to textures that don't need to ship 2k
vram 12.0MB -> 1.0MB
texture reduction pass - deployable, tools, food, component items:
71 textures touched, 38 resolutions brought down
an apple had a 2k ao map at runtime
vram 55.1MB -> 9.5MB
camera, obsidian knife, vampire stake texture reduction among others
11 maps 2048 -> 1024,
vram 24.8MB -> 6.2MB
weapon + tool texture further reduction pass where applicable
45 ao maps 1024/2048 -> 512,
reduced m15 worldmodel bc/nrm/sg 2048 -> 1024 (almost no visual difference for 3rd person)
vram 44.1mb -> 11.8mb
optimised ao textures for vehicles, generic textures and misc items.
halved 2k -> 1k with almost zero visual difference, not enough to warrant the double res
328 MB -> 192 MB vram
optimised props ao textures as it was the same issue with 227 of them, most carrying sources far bigger than they ship at and storing a single channel as rgb.
resized to existing max cap 110 files
rgb -> 8-bit grey 183 files
halved 2k -> 1k 24 files
146.3 MB -> 96.3 MB vram
optimised deployable ao textures where applicable. 245 of them, most carrying sources far bigger than they ship at and storing a single channel as rgb.
resized to existing cap 126 files
rgb -> 8-bit grey 148 files
halved 2k -> 1k 47 files
186.6 MB -> 92.6 MB vram
ao is sampled from the green channel so rgb storage was never doing anything.
optimised weapon ao textures. 68 were oversized on disk and nearly all were storing a
single channel as rgb. no weapons ships above 1024 now.
max size 2048 -> 1024 (52 files)
on disk 4096/2048 -> 1024/512/256 (68 files)
bit depth rgb -> 8-bit grey (58 files)
vram 114.8 MB -> 28.6 MB
ao convention on weapons is half the albedo, so 1024 against the usual 2048 albedo.
80 already did this, we were just inconsistent about it. we could half again on a per asset basis depending on size of object.
optimised darts textures and max sizes. we were shipping the radiation dart at 4k on all textures.
RadiationDart_AO 4096 -> 512
RadiationDart_bc 4096 -> 1024
RadiationDart_mg 4096 -> 1024
RadiationDart_nrm 4096 -> 1024
42.7 MB → 2.17 MB VRAM
looking at other textures that are unnecessarily big too to optimise where applicable.