Creating a custom Substrate Shader Model/BSDF

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 :slight_smile:

The problem you describe comes from forgetting to update the required byte size that substrate has to allocate for every pixel.
Search SubstrateMaterialRequestedSizeByte += 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!