Author Topic: How do you work out white color  (Read 11004 times)

2017-05-03, 12:37:59

Lamarc

  • Active Users
  • **
  • Posts: 25
    • View Profile
Hi,

im starting to dive deeper and deeper into corona and im coming from C4Ds standart/physical render. I also played with octane quite a bit and now i came up with a question thats realy struggling me.

In C4Ds standart renderer. If you choose white color(255/255/255) its pure white simply. Still everything regarding Light,Shadow,GI work like expected. Even in Octane white is just white(also if its not recommended to use it that way realy). But now corona white isnt white. Regarding to what ive read about Albedo it basically means there is no white brighter then 90% of true white or 230/230/230 RGB.

That said how is the recommended way to work with that knowledge. I mean for ArchViz you might get away with eyeballing the colors in your rendering but what you you need to trust the colors in the rendering lets say 95-99%. I mean colors get effected by the lighting, other objects etc but still. If i have a diffuse surface and white lighting if i pick the color off the rendering the color need to match the input one to some degree.

why i ask? I work alot for projects doing tradefairs and all kinds of customer relations stuff. We get colorswatches, logos and visual we need to work with from our clients who need to keep there colors as perfect as possible. Now if i add lets say a Logo - in C4D thats just about it. If there is white in the logo and it is surounded by a white wall you cant see any border. But in corona i would need to change how the texture input turns out to match the wall behind because its 255 white is way brighter then the 230 white of the wall(or any other value for pure white).

I hope you get the point - and i hope someone can tell me how to correctly deal with albedo and client needs regarding exact color representation. Again as said - i know light and other object might influence colors but in the ende in a white room with white lights i need to trust colors of everything.

2017-05-03, 14:14:48
Reply #1

Juraj

  • Active Users
  • **
  • Posts: 4815
    • View Profile
    • studio website
X-Rite ColorChecker sRGB chart. Here is Dubcat's guide for example : https://forum.corona-renderer.com/index.php?topic=10409.0

This will give you 'consistent' colors but I still don't truly believe those values + Corona's BRDF (or other renderer's necessary) model will give you "the" physical representation of real-world material albedo.
The reason for my disbelief is two fold: The X-Rite chart was meant for simply getting consistent neutral tones to counter-act each sensor's different color capture (warmer tones in Canon,etc..). It was not created to supply values to feed digital shaders. Second, somehow all the different BRDF implementations still give different results and I don't meant just specular representation from GGX distribution I mean as complete package.

Would love to see Vray's photoscanned bdrf matched against these flat x-rite colors, to see how exactly do they compare. Somehow surprisingly, almost nobody uses that damn thing :- ) ? It does one thing to guarantee identical result: it scans value to exact spec the shader reads it creating bespoke brdf for each material.

Last thing, because historically 3dsMax had linear color picker, and currently Corona gives you alternative option for gamma compensated (sRGB) picker, do not just read values from other people. If someone writes 230 RGB what does it mean ? It's vastly different value depending on gamma.

Also, some paint websites, like e-paint, give you "Light Reflectance Value", this is defacto linear albedo value. Since I don't believe there is any concept of diffuse/specular albedo division in real-life (outside of capturing it through polarization), I believe this to be value for both. I usually deduct the minimal specular reflectance non-metals have (2-4perc.).
So if some generic white paint as 92 perc. LRV, is matt paint, I deduct 2perc. base specular, which gives me 90perc. linear albedo or =0.9 Linear value, 0.9x255=230 linearRGB value or 243 sRGB/gamma-corrected. That would be fairly ultra-bright paint and it's no problem for old, oil-based, glossy paint to be as little as 60 perc. LRV, the difference is pretty large for what passes as "white" in real world :- ).

Please follow my new Instagram for latest projects, tips&tricks, short video tutorials and free models
Behance  Probably best updated portfolio of my work
lysfaere.com Please check the new stuff!

2017-05-03, 16:41:46
Reply #2

Lamarc

  • Active Users
  • **
  • Posts: 25
    • View Profile
ok but i can see with my own eyes that 255 is to bright. Every surface above 90% white starts to get a emissive surface. Wikipedia tells that fresh snow with around 93% white is by far the whitest material overall. So yea all those numbers tell me i cant realy make any kind of guessing currently how white the white should be.

Also at first i thought. Ok i just go with 90% which is roughly fine for albedo and also fine visually. But then i realised that there is a difference between using the color itself and set it to 90% and using the level value above and set this one to 90%. Well level is a linear value while the color slider is represented in sRGB.

You could read above that i need to work with company specific colors so i cant just switch the colormanagement to linear c4d white. I need to stay in sRGB which ends up beeing a mess overall.

So realy - the simple question is how do you all deal with that? you have albedo which recommends quite some well sorted value, you have design guidlines of a customer and youve got your 3d app/corona. How to get all of this together?

2017-05-03, 21:49:28
Reply #3

mferster

  • Active Users
  • **
  • Posts: 525
    • View Profile
Well considering color is all relative to lighting conditions, any change in lighting/exposure/reflectance is going to change the final colours of any logos you put in, there is no avoiding that (Light is very rarely pure white). The thing you have to should really be worrying about, is that your treatment of colours and images is consistent through your project.

For example, lets say you have a company logo on a sign on a painted wall. You load the company's logo as a texture like you normally would, but you also need to use the company's colours as a wall paint. To match correctly you cant simply take the colour values you get from photoshop and plug them into the color slot in the diffuse channel. To match those values correctly you would need to use the corona color node, plug in those values and then uncheck the "input values are in linear color space". this would give you same the color relative to each other.

for dealing with pure white's specifically:  if you are using textures that have pure white values such as a logo then you should lower diffuse level for all your materials from 1 to 0.86, so their diffuse contributions are consistent relative to each other. This is the equivalent to changing your white to 220/220/220

In regards to being colour accurate when it comes to brands...I have worked with a few different brands in my work, and I have never had any real issue with someone commenting on that their logo doesn't match exactly. If some brand manager is giving you grief because the color represented in a logo doesn't match 1 to 1 with a logo in their brand guidelines document, then I think it's up to you to educate them on how light and colour actually works.


2017-05-04, 13:18:03
Reply #4

Juraj

  • Active Users
  • **
  • Posts: 4815
    • View Profile
    • studio website
2Lamarc,

did you even read the first line ? Use the X-Rite passport when you need to get consistent values. Everyone does it from furniture industry to VFX.

I create some catalogue images for furniture brands here and there too (Herman Miller for example) and I need to provide accurate representations of physical swatches. It works.

Then there is lighting and post-production which still needs to be heavily controlled.
Please follow my new Instagram for latest projects, tips&tricks, short video tutorials and free models
Behance  Probably best updated portfolio of my work
lysfaere.com Please check the new stuff!

2017-05-04, 16:29:06
Reply #5

Lamarc

  • Active Users
  • **
  • Posts: 25
    • View Profile
ive read your post entirly but that isnt what i was looking for because. Yea i can do this be using sth like an xrite to messure the values my monitor or a print or whatever is putting out but thats not what i need. I need to pick a color in PS and be sure that this color in my rendering matches the color of the input texture. As said - perfect situation, flat diffuse surface, plain white light with correct exposure. And to get this i need a whitepoint that gives me the exact same value for sRGB textures and colorslide.

And like Mferster said it seems to be the only way that i need to control it over the levels value in c4d corona material. hoped there is some other solution available as well.

2017-05-04, 17:06:33
Reply #6

Lamarc

  • Active Users
  • **
  • Posts: 25
    • View Profile
Row of spheres in front is darkening using levels. Row behind uses the texture with multiply and reduces brightness thru the slider. Both from left to right 100 to 0% in 5% increments

2017-05-04, 18:18:45
Reply #7

Juraj

  • Active Users
  • **
  • Posts: 4815
    • View Profile
    • studio website
ive read your post entirly but that isnt what i was looking for because. Yea i can do this be using sth like an xrite to messure the values my monitor or a print or whatever is putting out but thats not what i need. I need to pick a color in PS and be sure that this color in my rendering matches the color of the input texture. As said - perfect situation, flat diffuse surface, plain white light with correct exposure. And to get this i need a whitepoint that gives me the exact same value for sRGB textures and colorslide.

And like Mferster said it seems to be the only way that i need to control it over the levels value in c4d corona material. hoped there is some other solution available as well.

Corona Environment with intensity of 1 (255/255/255) with Exposure 0 will give you Input=Output as long as you don't use highlight compression.

Mfersters value of 0.86 +/- multiplier is roughly the translation from perceptive color to physical albedo. It's good starting point for NCS/RAL/etc.. systems.
Please follow my new Instagram for latest projects, tips&tricks, short video tutorials and free models
Behance  Probably best updated portfolio of my work
lysfaere.com Please check the new stuff!

2017-05-04, 21:07:37
Reply #8

romullus

  • Global Moderator
  • Active Users
  • ****
  • Posts: 9252
  • Let's move this topic, shall we?
    • View Profile
    • My Models
If you want your logo to be exactly the same as in photoshop, no matter scene lighting, then plug your bitmap into CoronaOutput map, make sure that affect by tonemapping is turned off, then plug that output map into Corona material's self illum slot, set illumination multiplier to 1 and diffuse level to 0. Now your logo won't be affected by scene lighting and Corona tonemapping and it will look pixel perfect as in photoshop.
I'm not Corona Team member. Everything i say, is my personal opinion only.
My Models | My Videos | My Pictures

2017-05-05, 10:13:45
Reply #9

Lamarc

  • Active Users
  • **
  • Posts: 25
    • View Profile
If you want your logo to be exactly the same as in photoshop, no matter scene lighting, then plug your bitmap into CoronaOutput map, make sure that affect by tonemapping is turned off, then plug that output map into Corona material's self illum slot, set illumination multiplier to 1 and diffuse level to 0. Now your logo won't be affected by scene lighting and Corona tonemapping and it will look pixel perfect as in photoshop.

in general do i need to use corona output? i mean without using brightness/contrast etc in it does it make any difference for corona if i plugin a texture directly or thru this node/shader(in c4d cosmos)?

2017-05-05, 11:15:17
Reply #10

romullus

  • Global Moderator
  • Active Users
  • ****
  • Posts: 9252
  • Let's move this topic, shall we?
    • View Profile
    • My Models
If you want your texture to be unaffected by scene lighting and tonemapping, then yes, you do need to plug it through CoronaOutput texmap, otherwise no.
I'm not Corona Team member. Everything i say, is my personal opinion only.
My Models | My Videos | My Pictures