Texture maps and color saturation

Discussion in 'Modding' started by Tosch, Jul 24, 2014.

  1. Tosch

    Tosch Registered

    Joined:
    Oct 5, 2010
    Messages:
    1,872
    Likes Received:
    51
    Fresh from the Dev corner.

    http://rfactor.net/web/rf2/devscorner/texture-maps-and-color-saturation/

    List of reflectance/albedo of common materials

    ALBEDO:

    New asphalt, 0.04 - 0.05
    Black acrylic paint, 0.05
    Aged asphalt, 0.1 - 0.12
    Conifer Forest, 0.08 - 0.15
    Bare soil, 0.17
    Deciduous trees, 0.15 - 0.18
    "White" asphalt shingle, 0.2
    Green grass, 0.25
    Aged concrete, 0.2 - 0.3
    Desert sand, 0.4
    New concrete (traditional), 0.4 - 0.55
    Ocean ice, 0.5 - 0.7
    New concrete with white portland cement, 0.7 - 0.8
    White acrylic paint, 0.8
    Fresh snow, 0.8 - 0.9
    Water, 0.03 - 1.0

    Old/melting snow 0.40 - 0.80
    Tundra 0.2

    Soil (Dark/Wet) 0.05
    Soil (Light/Grey) 0.4
    Sand 0.15 - 0.45
    Ice (Sea) 0.3 - 0.45
    Ice (Glacier) 0.2 - 0.4

    white asphalt shingle - 0.2
    galvanized steel - 0.24
    terra cota tile - 0.28
    tar & gravel - 0.33

    magnesium oxide - 0.96 [D]
    alabaster - 0.92 [D]
    polished silver - 0.88-0.93 (S)
    white gypsum - 0.85 [D]
    fresh snow - 0.75-0.78 [M]
    mirror - 0.72-0.85 (S)
    matte silver - 0.7 [D-S]
    polished aluminum - 0.65-0.75 (S)
    polished chrome - 0.6-0.7 (S)
    matte aluminum - 0.55-0.6 [D-S]
    white paper sheet - 0.6-0.7 [D-S]
    melting snow (clean) - 0.6-0.62 [M]
    matte chrome - 0.5 [D-S]
    plaster - 0.4-0.45 [D]
    natural silk fabric - 0.35-0.55 [M]
    batten (fresh wood) - 0.35-0.42 [D-S]
    face skin - 0.25-0.35 [M]
    white dry sand - 0.24-0.32 [D]
    yellow clay - 0.16 [D]
    batten (old, weathered) 0.12-0.16 [D-S]
    white wet sand - 0,11-0.2 [D]
    dry asphalt - 0.1-0.18 [M]
    black soil (dry) - 0.07-0.08 [D]
    wet asphalt - 0.06-0.08 [D-S]
    summer foliage - 0.09-0.12 [D-S]
    conifer - 0.08-0.12 [D & D-S]
    autumn foliage - 0.15-0.3 [D-S]
    black soil (wet) - 0.02-0.05 [D-S]
    black velvet - 0.01-0.03 [D]

    D - diffuse
    S - specular
    M - mixed

    If I understand this right you can calculate the max rgb values for the textures of common materials by multiply the albedo value with 255 (max rgb value).

    For example new concrete (traditional), 0.4 - 0.55 * 255 = 102 - 140 max rgb value for all three color channels of the texture.
     
  2. marcatore

    marcatore Registered

    Joined:
    Sep 24, 2011
    Messages:
    51
    Likes Received:
    0
    So, helping modders, it could be nice to have an "albedo" multiplier aside the texture slot map into gMaterial inside 3dsmax. In this way, modders can save working hours converting all the texture library.
     
  3. wgeuze

    wgeuze Registered

    Joined:
    Oct 1, 2012
    Messages:
    1,608
    Likes Received:
    63
    Thanks Tosch :)

    Or just suck it up and conform to new tech :)
     
  4. Mario Morais

    Mario Morais Member

    Joined:
    Oct 26, 2010
    Messages:
    1,465
    Likes Received:
    169
    interesting
     
  5. blakboks

    blakboks Registered

    Joined:
    Oct 20, 2010
    Messages:
    843
    Likes Received:
    30
    You're not really saving anything by having this value inside 3DSMax, since you'd have to do it for each material--which could end up being a higher count than the number of textures in your scene. Also, if you want quick and dirty, then it's something that I'm pretty sure can be done quite easily with batch actions in Photoshop, using a simple Exposure or Levels adjustment.


    Now, my question is: is there any sRGB -> linear conversion being done? Because this is a VERY important step, and textures need to be made with this in mind. Hopefully, it is, since most monitors are calibrated (roughly) to sRGB; so it's easier for artists to judge the textures they're creating.

    Also, here's a visual guide for people who would rather just use the eyedropper tool in Photoshop:
    [​IMG]

    P.S. Having light values >1.0 and using "albedo" textures does NOT make a lighting/rendering engine Physically-Based, btw. The key is to make it energy-conserving; which, I'm pretty sure since you can have specular levels >1.0 is a pretty dead giveaway that it's not energy-conserving. I'd love to be corrected if I'm wrong, though.
     
    Last edited by a moderator: Jul 25, 2014
  6. blakboks

    blakboks Registered

    Joined:
    Oct 20, 2010
    Messages:
    843
    Likes Received:
    30
    I don't know where you got that list of Albedo values, but they seem to be quite low for what ISI actually used; or else ISI isn't heeding their own advice, or there's something else they're not telling us. If you have a look at the Silverstone TRACK_MAIN in Photoshop, its values are right around the 100-mark. Now, let's not forget that there is a MULT map as well, so let's open that up, shrink it down to approx. 256x256 (so it will tile on the main more like it will in-game), define it as a pattern, go into into the MAIN document, create a new layer, fill it with the MULT pattern, set the blend mode to Multiply, and sample again, it's now only down to about the 60-70-mark--which if we look at the values above, would put it in the 'Aged concrete' range; certainly nowhere near any of the asphalt values. IDK...all this sRGB / linear RGB stuff makes my head hurt.
     
  7. MaD_King

    MaD_King Registered

    Joined:
    Oct 5, 2010
    Messages:
    1,830
    Likes Received:
    611
    Very interesting, that's why some track texture are cartoon feeling colors !!
    What is the easiest way in photoshop to apply these "filters" on a diffuse map?

    In the list you indicates with the following legend
    D - diffuse
    S - specular
    M - mixed

    When you indicates [M], what is the difference than when you indicates [D-S]? What is the work to do on the textures colours?

    Is after applying these "filtering" the black will come back right with HDR, today there is artefacts pink, velvet ... in several situations?
     
    Last edited by a moderator: Jul 25, 2014
  8. SPASKIS

    SPASKIS Registered

    Joined:
    Sep 7, 2011
    Messages:
    3,155
    Likes Received:
    1,420
    Thanks ISI and Tosch. All the support is highly appreciated. I just miss in the info some graphical examples to better support "theory". Can we take inianapolis track as a good reference that fulfills the explained to base our work?
     
  9. Jorgen

    Jorgen Registered

    Joined:
    Oct 5, 2010
    Messages:
    558
    Likes Received:
    3
    Very interesting read, thanks for posting! One thing which would help tremendously is if there was a "cheat sheet" with not only recommended texture RGB ranges, but also recommended material settings for specular, diffuse, ambient etc, as well as recommended shaders, fresnel values, etc. Most of this currently involves reverse-engineering of the latest ISI tracks, so if there were some sort of "material setting templates", that would help making sure that tracks look as realistic as possible. (conversions included)
     
  10. MaD_King

    MaD_King Registered

    Joined:
    Oct 5, 2010
    Messages:
    1,830
    Likes Received:
    611
    Same for cars materials :) .
     
  11. Major_Parts

    Major_Parts Registered

    Joined:
    Aug 22, 2013
    Messages:
    125
    Likes Received:
    0
    What the bloody hell does all that mean? You need a fekin degree in everything to mod for this thing now :(
     
  12. Drathuu

    Drathuu Registered

    Joined:
    Oct 14, 2010
    Messages:
    350
    Likes Received:
    98
    Great information, thankyou Tosch
     
  13. Minibull

    Minibull Member

    Joined:
    Sep 28, 2012
    Messages:
    1,559
    Likes Received:
    19
    You get more complex software, you need more complex work to make things function correctly. That's the way I see it. 2D Pong is piss easy to create, we've moved on from that though.
    It's why I feel that teamwork has to be a key part of most modding now. Not everyone is as gifted or has the ability to create the whole project like Feels3 or someone like that. Ideally you would have someone performing a piece of the final project. Someone handling textures and lighting, someone handling modelling, physics, etc.
     
  14. wgeuze

    wgeuze Registered

    Joined:
    Oct 1, 2012
    Messages:
    1,608
    Likes Received:
    63
    It's nowhere near as complicated as you would first think. It's just that you'll to need to keep in mind how you build your textures a bit more. Something
    people have done/do anyway when building textures, only the numbers changed a bit, generally speaking, it's all a fair bit lower.

    If you could make a texture for rF1, you can for rF2.
     
    Last edited by a moderator: Jul 26, 2014
  15. Tosch

    Tosch Registered

    Joined:
    Oct 5, 2010
    Messages:
    1,872
    Likes Received:
    51
    Just one simple rule.
    If you take photos for rF1 textures wait for a bright sunny day.
    If you take photos for rF2 textures wait for a thick cloud cover.
     
  16. Major_Parts

    Major_Parts Registered

    Joined:
    Aug 22, 2013
    Messages:
    125
    Likes Received:
    0
    ok...so suppose I want a texture of some yellow paint...apparently (unless i looked wrong), coloured paint has an albedo of 0.2...times this by 255 = 51
    Now, a good yellow RGB is about R:220 G:214 B:35 ... Lowering those values to nearer 50 turns the yellow into more or less black!

    So what am I missing about this whole idea?
     
  17. Tosch

    Tosch Registered

    Joined:
    Oct 5, 2010
    Messages:
    1,872
    Likes Received:
    51
    White acrylic paint, 0.8

    0.8 * 255 = 204
     
  18. blakboks

    blakboks Registered

    Joined:
    Oct 20, 2010
    Messages:
    843
    Likes Received:
    30
    Don't forget your sRGB conversion! So, take (0.8^1/2.2) * 255 = 230.
     
  19. Major_Parts

    Major_Parts Registered

    Joined:
    Aug 22, 2013
    Messages:
    125
    Likes Received:
    0
    yeah, but that's white acrylic, not yellow. The search I did gave me "coloured paint...0.2", so that's for red, blue, green, brown, purple etc, all of which will be near enough black once the albedo sums are worked out.
    If I did the original example of yellow using the "white acrylic", this would end up higher than 180 and be more akin to the dayglo effect mentioned.

    Going by the table in the 1st post, "white asphalt shingle...0.2"...the same as coloured paint, therefore no RGB value higher than 51...nearly black again!

    Now, instead of quoting one of the lines in your table, tell me if I'm looking at everything all wrong and explain how I should be looking at it.

    All I can see that information doing, is confusing people. The one simple rule should be "if your colour looks too bright, darken it" instead of all those numbers. Is that really true though? If I have a car skin that is green and looks great in rf1 but too bright with HDR in rf2, I darken it to look as good as it did in rf1 but people who don't run HDR are not going to see it how it looks in rf1, they are going to see it as too dark!

    I could understand those numbers if they were relating to something like the alpha channel, but not when they are referring to RGB values of colours in textures.
     
  20. Major_Parts

    Major_Parts Registered

    Joined:
    Aug 22, 2013
    Messages:
    125
    Likes Received:
    0
    What? What is sRGB? Where did this new bit of maths come from?
     

Share This Page