Hello guys
I'm trying to understand PBR and PBR workflow more. I have a good experience with it and was able to create a couple of project with PBR.
Now there some small things that I want to understand more.
What is "Linear" and "sRGB" in PBR process?
How does it work and implemented in both Marmoset toolbad and photoshop(texturing).
I tried to look for explanation but most are too vague.
I hope you guys can help me.
Replies
Pretty much any photo or image made to view on a monitor is gamma corrected, basically a linear image is telling your display to increase the brightness of each pixel in a very constant and even way, but when you do that, the actual results you see on the display go from dark to very bright really quick. Gamma correction adjusts that brightness curve so you get many more practical values between black and white.
Basically in games, images that are made to look good on a display, like your albedo, are typically done in sRBG, which has gamma correction. Images that are math operations like normal maps are linear because you don't want an adjusted value. Also it gets very weird when you are adjusting between different modes in photoshop, you can mistakenly apply gamma twice and really screw up an image, or you can have a texture that is linear but you are in sRBG mode. It gets really weird and stupid, so don't change the mode in Photoshop unless you know what you are doing.
You really just want to make sure the engine is reading the same color space you created the image/texture for.
http://en.wikipedia.org/wiki/Gamma_correction
But what are those values in the screen grab that I posted? both sRGB and Linear has values.
Also how does this applies in photoshop/texturing, or is this one of those that you should know.
Lets say you make an image that 50% grey in photoshop and import it, if you check linear in your target engine, it's going to have a value close to the value for ceramic, if you check the option for sRGB, it's going to have a value close to brick.
With PBR just make sure you are matching the values you are referencing with the target engine. So if you use the linear value, make sure linear is checked in your engine, if you are using the sRGB value, make sure that is checked.