What’s a proper Value for Reflections?

Or: what do I have to put into the Reflection Value field (Advanced interface)? Or: with what factor do I have to dim (multiply) the color I used according to the previous article? The latter is a much recommended approach when applying Gamma Correction (as available in PoserPro, and Poser 10 and up) to the rendering process. In that case, the Value itself should remain 1.0. Merging the reflectivity value into the color swatch is even a necessity when using Alternate_Diffuse instead of Reflection_Color, as Alternate_Diffuse does not offer a Value slot. This approach is recommended when the material definition offers some Transparency as well.

The value I’m looking for is: reflectivity.

On contrast to common expectations, shiny and reflecting materials only bounce a very limited amount of the light received, back towards the camera, into the render. In jargon: reflectivity is low. That expectations are high is understandable:

  • Highlights on a surface do stand out. This however is not due to the reflectivity of the surface, but because the lights which are reflected do stand out in their environment themselves. In Poser however, highlights are addressed by specularity, not by reflection.
  • Water, car and glass surfaces do appear quite reflective. This is because reflectivity increases enormously with skew angles, and that’s the usual way we see the environment reflected on those objects (Fresnel effect).

A plain, straightforward, perpendicular reflection, enabling me to see my own face reflected by the surface, is only strong in metals, and mirrors since these are coated with a metallic layer at the backside. The reflectivity of common materials can be found in the table presented below. The table also mentions the color, if any.

Table of Refraction Index (IoR) and Reflectivity (R)

Material Refraction index (**) Reflectivity Coloring (RGB) Result (RGB) = Reflectivity*Color
Water 1.33 0.020 5, 5, 5
Sugar solution 1.42 0.030 8, 8, 8
Oily fluids 1.50 0.040 10, 10, 10
Glass 1.50 0.040 10, 10, 10
Heavy Glass 1.60 0.053 13, 13, 13
Impure glass 1.80 0.082 21, 21, 21
Opal 1.45 0.034 9, 9, 9
Quartz 1.50 0.040 10, 10, 10
Salt 1.50 0.040 10, 10, 10
Amber (*) 1.55 0.047 Brown/orange
(90.2%, 68.6%, 0%)
12, 12, 12
Onyx, Amethyst 1.55 0.047 12, 12, 12
Pearl 1.60 0.053 13, 13, 13
Aquamarine, Emerald (*) 1.60 0.053 Light Cyan, Green
(0%, 66.7%, 45,1%)
13, 13, 13
Turquoise, Tourmaline (*) 1.65 0.060 Dark Cyan
(0%, 50%, 50%)
15, 15, 15
Sapphire (*) 1.77 0.077 Dark Red
(50%, 0%, 0%)
20, 20, 20
Zirconia 2.15 0.133 34, 34, 34
Diamond 2.40 0.170 43, 43, 43
Lead 2.60 0.200 Bluish Grey
(50%, 50%, 62.5%)
41, 41, 51
Titanium 6.15 0.519 132, 132, 132
Tin (Sn) 6.54 0.540 138, 138, 138
Chrome 6.76 0.551 141, 141, 141
Nickel 8.79 0.633 161, 161, 161
Platinum 9.45 0.654 167, 167, 167
Copper 18.78 0.808 Reddish brown
(86.3%, 35.3%, 0%)
206, 84, 0
Gold 36.81 0.897 Reddish yellow
(100%, 70.6%, 0%)
229, 161, 0
Aluminum 43.43 0.912 Bluish
(95%, 95%, 100%)
221, 221, 233
Silver 119.20 0.967 247, 247, 247
Zinc 17.94 0.800 204, 204, 204
Steel 11.25 0.700 178, 178, 178

See http://refractiveindex.info/ for details on all sorts of stuff. See http://colors.findthedata.org/ for colors.

(*) for fluids, glasses and gems the color affects the light passing through. The reflection color however is white, as these ain’t metals.

(**) On Refraction Index. Warning: High School Math stuff ahead.

For all materials, non-transparent ones like metals included, Reflectivity (R) and Refraction Index (IoR) are related:

R = [ (IoR  -1)/(IoR +1) ]2     and/or     IoR = ( 1+ √R) / (1- √R)  (√ for square root)

This too stresses that reflectivity is quite low (less than 10% in most cases) for transparent materials like fluids and glasses, while the Index of Refraction is pretty high (usually 10 and up) for non-transparent metals. It’s this IoR value that has to be used in Fresnel nodes and the like. When you like to have a more detailed understanding, try a physics class on optics for a change. Kidding, it’s complex stuff.

Alloys

Metals are combined, usually for the physical properties of the resulting alloys. These are stronger, more flexible, more durable, less brittle, cheaper, and so on, compared to the pure stuff. For Poser renders, I’m doing quite well when simply using the mixing percentages for the resulting color and reflectivity.

Alloy Mixture
Yellow Gold (22K) 92% Gold, 5% Silver, 2% Copper 1% Zinc
Red Gold (18K) 75% Gold, 25% Copper
Rose Gold 75% Gold, 22% Copper, 3% Silver
Pink Gold 75% Gold, 20% Copper, 5% Silver
White Gold 75% Gold, 25% Platinum
Soft Green Gold 75% Gold, 25% Silver
Green Gold 75% Gold, 20% Silver, 5% Copper
Purple Gold 80% Gold, 20% Aluminum
Brass 67% Copper 33% Zinc
Bronze 88% Copper 12% Tin
Yellow Copper (Messing) 60% Copper, 40% Zinc
Pewter 90% Tin 10% Lead

For example: when mixing 90% Gold (reflectivity 0.897) and 10% Silver (reflectivity 0.967) then the resulting alloy will have a reflectivity of 90% x 0.897 + 10% x 0.967 = 0.994. And I can do a similar thing to the RGB values of their respective colors.

Making an Easy Life hard

So, I can look up the color and the reflectivity of a metal, a glass or fluid, put these values in the Reflection_Color and Value fields respectively, and I’m done?

Not really, as I have to compensate for double-counting. For instance, the material at hand has no specific reflection color but does have a 70% reflectivity. Then I can either put in White for Color and 70% for Value, or I put in 70% Grey for Color and 100% for Value. But I should not combine 70% Grey in Color with 70% in Value, as that will reduce the surface reflections to 70% x 70% = 49% instead. This especially requires some care when a color is applied indeed. When that color has 90% brightness, then the first step in reduced reflectivity is already taken care of. Applying a reflectivity value of 80% as well will reduce the surface reflections to 90% x 80% = 72%. Vice versa, when I want that say 70% overall, then I should enter the appropriate 90%/70% = 80% in the Value field.

The recommended approach however is to reduce the brightness of the color swatch, and leave the Value at 1.0. Or even better, plugin any reflection node into Alternate Diffuse instead of Reflection_Color. See this article for details on both.

Okay, so I’ve got a color like RGB = (50%, 50%, 62.5%) or as Poser says: (127, 127, 159) and I want to turn it into its 100% brightness equivalent. How should I do that?

  • Take the largest number, which is 62,5% or 159 for Blue in the example
  • Divide all RGB values by that number, and multiply by 100% or 255 respectively In the example, that would make 50/62,5*100% => 80% , 80%, 100% or 127/159*255 => 204, 204, 255.
  • Now, the Value field can get its proper Reflectivity, or the color swatch can get dimmed to the proper result. A 20% reflectivity will then result in 16%,16%,20% or 41,41,51.

Next >

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.