Hi,
I am currently using Substance Designer to create textures and come across a few issues...
I understand that realistically, Roughness should be linear space and therefore Not SRGB whilst Albedo requires SRGB but within SD there are no options allowing me to have one off whilst the other on, if I turn SRGB off for roughness it turns it off across all outputs and vice versa.
My textures have all been created with the default SRGB enabled, which is fine for albedo but not for roughness... of which when I rendered in marmoset looked great but that's because marmoset's default roughness setting had SRGB off.... which means its misinterpreting my data as linear when its obv not.
Surely if im using quixel-scanned data values that expect my result to be linear this is inaccurate with SRGB is enabled in SD.
How can I fix my maps, so that they are accurate within marmoset and substance? Should I just turn SRGB off in SD? this will make both programs interpret my maps correctly?
In addition, the histogram doesn't give me a median range value for luminosity, purely a range of sceptical values I have no understanding of.
How can I create true PBR textures within Substance designer; using SRGB for Albedo, Linear spaced roughness whilst still being able to view my luminosity values to ensure its correct?
Cheers Dave
Replies
You can author textures in sRGB or in linear space independantely in all channels in Designer. What you see in the 2D view is what you get in your file.
Let's say you create a texture using a uniform color :
- if you want a value of 30/255 in linear space, just enter 30 in the color slider and you'll get a texture in linear space with a value of 30
- If you want a value of 30/255 in sRGB space, just enter 30 and you'll get a texture in srgb space with a value of 30
- if you want to convert textures from sRGB to linear, or the other way round just use the appropriate node ("convert to sRGB" or "convert to linear")
Disabling this disables SRGB across the entire project. Enabling enables this across the entire graph.
I didn't know there was a node to convert to SRGB and vice versa.
Is there a way to view the range/median of the luminosity?
Am I correct in regard to having SRGB disabled for roughness in both marmoset and SD?
The issue Is ive made some maps; they look decent, but because I've used SRGB throughout the project without converting my roughness to linear space; How would I get this to be correct and the same visual? Obviously removing SRGB will make it darker/lighter due to gamma correction.
Not directly, but it's something we can easily add if you need it. What you can currently do is select the whole actual range of the histogram (the part with a white background) and look at the "range" values displayed on the right. The median will be the average of the min and the max value in the range.
In Marmoset, you should import roughness in linear space. In Designer, you should edit your roughness in linear space.
More generally, as a rule of thumb : every low dynamic range color textures should be in sRGB except normals, all the others should be linear.
To be 100% precise : this is not mandatory as long as the color space you export your textures in matches how you import it in the renderer you use (if you have a choice), but AFAIK most people work this way and it makes more sense this way.
If you have entered gamma corrected values instead of linear values in your roughness texture, and want to quickly make the resulting texture linear again, just insert a "convert sRGB to linear" node at the end of the before the roughness output in your graph. But again, regarding what you posted above, the "sRGB" button in the 2D view only controls how the image is displayed in the 2D view, it does not change the texture itself.
So heres just a quick example to demonstrate what I'm still stuck with.
I make a roughness using values I get from a table; it has standard SRGB values by default;
I decide I like this Roughness.. but understand it needs to be converted to linear space if I was to go to marmoset and render it there..
I convert it to linear space
Its now changed my result, making what I got from the table incorrect.
What if I liked the first result and make it linear space without effecting my results; would I have to manually go back and adjust everything Ive done?
Color outputs are always sRGB (Albedo, Specular, ...)
Grayscale Outputs are always Linear (Roughness, ...)
Then my textures look great in marmoset and I was only worried about the technicality of it being linear, have triple checked, my renders are accurate
I was thinking about it the wrong way; thanks for clearing that up!!