Jump to content
3DCoat Forums

sRGB - Gamma 2.2


Alex Z
 Share

Recommended Posts

  • Member

Hi guys,

I've read through many posts already made on this topic, but i'm struggling to find a definitive answer.

Is it possible to paint and view in true sRGB space?

 

3MY82Tb.png

 

Maybe there is a button i've not checked to make this happen?

I've read about and tested : Textures > Adjust > Gamma correction - but sadly this is only a clever hack that crushes down the 1.0 Gamma, it doesn't allow me to work in Real-Time true sRGB / 2.2 Gamma space.

For Gloss / Roughness / Specular textures true working sRGB space is very important to create an accurate read.

 

Any info on this would most welcome, i'm a big fan of 3d coat, loved it from the first moment i started using it. Personally i don't want to move to the likes of Mari or Substance painter.

 

Thanks for reading!

 

Alex

Edited by Alex Z
Link to comment
Share on other sites

  • Member

 

Minor update of a real world application example :

 

vBHZuvQ.png

 

Here we have Unreal 4,

I used the Photoshop file as a base for both 3d coat examples, one saved out at Gamma 1.0 and the other changed to 2.2 using the Gamma correction tool.

The Gamma correction tool in 3d Coat works fine, the difficulty is not being able to see or work in this Gamma range. It's a bit like painting in the dark! haha!

I'm not sure how much work would be needed to change the viewport / color picker in 3d Coat to allow sRGB, but it would be fantastic if possible!

 

Thanks for reading!

Alex.

Edited by Alex Z
Link to comment
Share on other sites

  • Reputable Contributor

You can read up on this subject (color management) and as one person put it go from confusion to clarity to confusion again then back to clarity seesawing back and forth as you keep reading. :blink:

Anything I post below could be have errors, Just giving my understanding according to what I read. 

Most monitors today use Srgb color space for viewing, HDTV's use Rec-709, though the gamma here can go to 2.4. A few browsers are color space aware but that has been more recent.

3DC exports (untagged RGB) which lacks a color space, except what your monitor displays, see above.

There is no real interpretation of the red, green and blue numbers set by a color space. I would think this would be the main reason to work in a color space and of course the 2.2 gamma thing.

A program that creates in Srgb and one that can read Srgb color space keeps the colors consistent.

--------------------------------------------------

On to the second part:

My setup

Export textures out of 3DC (untagged RGB).

Import into Photoshop : Color setting shown in picture

I will be ask to assign working profile or assign profile. Both are set to the same in my case. shown in second picture.

There is no color shifting as the untagged 3DC texture was created using the monitor's default srgb but now since it is in srgb space plus profile the rgb numbers have meaning. When exporting the texture with the srgb profile this will enable a program that reads srgb color space and I still get the same colors as I got in 3DC. The above is at least my understanding and could have errors of course.

If 3DC has support for Srgb color space as a profile, the ability to choose it, the Photoshop part would be unnecessary.

------------------------------------------------

Unreal 4 Part:

All rendering in Unreal is done linearly.

Import Textures into Unreal.

In the Texture preview window, uncheck Srgb for your metallic, roughness, occlusion.I do this before hooking them up to the node system.

Unreal then will interpret those textures linearly and you will get the correct amount of metallic, roughness and occlusion you had in 3DC.

Keep the albedo map at Srgb, even though Unreal will render it linearly, it applies internally a inverse gamma correction to the texture but when it displays it back to the screen, it is displayed as Srgb again. 

Normal maps are imported with the Srgb already unchecked.

To get proper refections and PBR rendering, add a sky light, a refection sphere and I would add a lightmass Importance Volume if the model is one that is viewed up close. 

The Unreal section is from my reading and you can read the link below. It is concerning Substance painter to Unreal 4 but the principles apply.

This is a good discussion, no problems pointing out errors of mine...

Again, having support for Srgb color space in 3DC would be great.

https://support.allegorithmic.com/documentation/display/SPDOC/Unreal+Engine+4

 

 

color settings.JPG

missing profile.JPG

Edited by digman
added images
Link to comment
Share on other sites

  • Member

@ Carlosan : Thanks for directing me to more info on the subject! :)

@ Digman : Thanks again for such a detailed reply...

I completely agree with everything you've typed. My only real concern is not having access visually to the greater range of Greys that sRGB / Gamma 2.2 offers, part of me worries that somewhere in a 3d pipeline (3ds max, Unreal, Maya etc ) i may hit a technical block due to the fact my textures were created in Linear space, and by that i mean : Textures being over corrected or adjusted due to the fact they were too dark or bright when put into a 3d scene that was currently set up for Gamma 2.2.

Personally from experience i've come to learn it's absolutely vital to work in 2.2 space when rendering, mostly noticeably regarding lighting. The sheer range of Grey's results in much much more realistic images.

I did have an idea that could possibly be a work around, an actual hardware hack. If i adjust my monitor's Gamma to off-set the Linear viewport of 3d coat, maybe i could be painting and viewing in Gamma 2.2? It's a crazy idea, but it might just work. Then once i'm happy with the results i'd return my monitor back to normal and use the Gamma Correct Tool. I've not tested this so i can't say if it works. :D

Cheers,

Alex

Link to comment
Share on other sites

  • Reputable Contributor

Onward in the disscussion. 

sRGB is a standard that was agreed upon for CRT monitors and Flat screen monitors use the same standard. Does that mean that the  makers of monitors develop their monitors to be a certified SRGB, The answer is no.  HDTVs use I believe in most cases the REC-709.

In the discussion we have not even talked about Monitor Calibration. It is important for correct color correction but most of us do not calibrate our monitors. It is better to have a proper monitor calibration but in the online world what I see and you see can be quite different. My monitor could be calibrated and yours not. In a company with various artist, their's monitors would be calibrated.  For general use, gamers, friends or family sharing pictures in most cases will have not bought the equipment for proper monitor calibration. Some might use the built in tools or web tools for monitor calibration.

----------------------------------------------------------------------------------------------------------------------------------------------

I believe here in this discussion we are addressing what other application's expect in regard to sRGB space. Unreal, Unity and other applications expect images to be in sRGB 2.2 non-linear color space.  The RGB numbers have the same interpretation from application to application.

Now to the subject of 3DC's gamma correction. Because the gamma correction tool in 3DC is set to 1.00 does not mean we are in linear space.  I think the tool is like Photoshop's exposure tool in which the adjustments to the image are done linearly and not in the color space it is set at.  Photoshop's exposure tool gamma is at 1.00 as well. are in other words set at a mid point.  In the sRGB workspace the exposure gamma control is set still at 1.00.

In 3DC we are in whatever display your monitor is setup for since we have no set color space to work in. My monitor (non-calibrated at it's default setting is close to Srgb and follows the 2.2 gamma curve very close) 

Now having a specific color space avoids adding an extra step to keep colors consistent across applications by using Photoshop for setting the color space (Srgb). Even with a Srgb setup in 3DC the gamma correction tool still would be set a 1.00 like Photoshop.

Side note: I import a texture from 3DC to Photoshop choosing to assign a sRGB profile and to convert to a working RGB.  By converting to a working RGB the color appearance take precedence to the numerical numbers of the colors. The reason in my understanding that there is no color shifting of my colors when I convert them to sRGB workspace and profile.

Now my question is this where the problems lies. Photoshop will convert my colors without shifting to srgb but other applications might not correctly interpret the untagged RGB colors from 3DC having no ability to do so.

The above is my understanding, could be wrong. I have not conversed directly in e-mail about this to Andrew, He is a busy man so I tend to just try and figure things out on my own. Learn that way and being corrected is part of learning.

3DC needs to have the ability to select Sgrb workspace as most modern rendering applications seem to use that space.

EDIT: sRGB workspace is gamma 2.2, When I discuss sRGB workspace this is included.

 

Edited by digman
Link to comment
Share on other sites

  • Reputable Contributor

A good article like many I read.

 We will not author our textures in a linear workspace but a sRGB 2.2 workspace or at least that is my understanding.

 A game engine like Unreal 4 will convert our Normal, Roughness , Metallic and occlusion textures to linear when the sRGB switch is deselected.  The albedo map is left sRGB with Unreal doing a inverse gamma correction on it and render it linearly as well. Final output to the screen is all sRGB. 

 3DC does export 32 bit linear textures in the Exr format if your renderer excepts exrs... 

We need the SRGB 2.2 workspace in 3DC for authoring our textures. I sometimes do not mention the gamma 2.2 as much as that is part of the Srgb workspace. Do not let my lack of mentioning it as it being less important.

Side Note: Linear rendering is needed for correct lighting and shading.

 

Edited by digman
Wrong wording
Link to comment
Share on other sites

  • Reputable Contributor

I sent Andrew an email about some of what  we have been addressing here... His reply his below..

Quote: "All export/import textures are in sRGB space, it is non-linear, gamma corrected space (output_color=linear_color ^2.2)"

Please continue the dialogue... 

Edited by digman
  • Like 1
Link to comment
Share on other sites

  • Member

Phew!

Thanks for the insights and info on this topic, i'm very relieved to know everything is in perfect working order. The tests i've done here also confirm that it makes no difference to my workflow if my textures are sRGB or RGB. I was always worried that i'd lose some data range with textures being RGB, but the end result is exactly the same!

thanks again,

Alex.

 

  • Like 1
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...