And you left out several optimized subcases for substrate single slab mode.
Yes. This is not meant to be a comprehensive replacement all ready to go 100% covering/replacing all optimized passes. Most of these subcases are not actually features I’m using, and don’t plan on using honestly for my project. So I didn’t want to spend too much more time stumbling around, when I already felt like I had no idea what I am doing! But the code is on github, so if you feel like it PR’s are open
The problem you describe comes from forgetting to update the required byte size that substrate has to allocate for every pixel.
SearchSubstrateMaterialRequestedSizeByte += UintByteSize
in HLSLMaterialTranslator.cpp, to see how the byte size is computed.
Which problem exactly? The fuzz/glints not working when adding extra data? If so, that’s awesome I’ll take a look! Good to have another set of eyes looking at this!