I'm trying to use a metalness/roughness workflow and I'm not sure how to translate the colour channels into the different metalness and roughness attributes. I'm not sure if there's a standard on how to encode that information and I can't find any online resources on how to treat the colour channels so I'm guessing that there is no standard.
I have had materials which have used only the R and B channels and having the B channel set as 0 and I have had materials that somehow use all the RGB channels and I'm confused as to why they would need a third channel to determine metallness and roughness.
My question is, how should I determine the format that the map is in and which channel corresponds to which attribute?
Update: I've already come to terms that I'll probably have to compile new shaders for different materials but I'm trying to figure out a way of identifying the format that a map is in. It would appear that for one of the models I'm using, it stores its bump map in the R channel. I didn't even know that was an option
Update 2: I imagine I'll have to just delegate this to the asset pipeline and have the user select which channels to sample from. That or have a hardcoded format and make sure that any PBR materials imported follow that format