Hey people
I don't understand the difference between IOR and Reflectivity. The doc does not explain it enough, and the Reflectivity example pics are missing (I logged this bug).
Then, why is the default IOR 1.5? Why is the default Reflectivity at 1? Why not 0? The doc says for IOR : “To disable reflections completely, set this parameter to 1.0”. But I find this confusing.
What's the effect of 0.5 then? When I put this slider at 1! no reflection. At 2 : reflection exists. At 0.5 : reflection exists. This does not seems logical to me.
Another example : in the material palette“, the ”white paint“ material has IOR at 1.5 and Reflectivity at 1. But white paint is barely reflective. Couldn't these 2 parameters be at 0 for the sake of clarity?
Why are there 2 parameters in the first place?
And there is a similar mess with Transparency and Opcacity.
The doc about transparency : ”Controls how transparent the surface is.“. The doc about opacity : ”Opacity Scale : The opacity of the shaded surface."
Why are there 2 parameters ? Aren't they both the same thing?
The Transparency default is 0 which seems normal for once.
Why is the Opacity scale default at 1? Even for white paint?
Sorry but I feel all this to be very confusing and I beleive this page http://www.sidefx.com/docs/houdini16.0/nodes/shop/principledshader [www.sidefx.com] should start by an explanation on these dual parameters.
Gz
IOR vs Reflectivity ? Transparency vs Opacity?
11169 10 2- Grendizer
- Member
- 375 posts
- Joined: May 2014
- Offline
- jsmack
- Member
- 8037 posts
- Joined: Sept. 2011
- Offline
IOR is ‘index of refraction’ and has to do with the physical interaction of a medium with light energy. For normal materials it will always be greater than 1. An IOR of one is equivalent to a vacuum which has no interaction with light. So for completely non-reflective materials the ior can be 1 to disable reflections.
Reflectivity is an artist/texture friendly parameter that modulates the reflection amount. It attenuates the reflectivity defined by the ior, with the amount of attenuation rolling off to 0 as the angle tends towards the perpendicular.
Opacity and transparency are two unrelated concepts. Opacity makes an object allow rays to pass through it, and the degree of opacity determines the proportion being blended. Transparency is really transmission, it enables refraction which samples objects behind the surface with a ray bend according to the index of refraction. Transparency=raytracing, Opacity=compositing.
http://www.sidefx.com/docs/houdini16.5/nodes/vop/principledshader [www.sidefx.com] The current documentation explains the meaning most of these parameters quite well. The only one that is not really explained is opacity, which I guess is more of a rendering term that the documentation assumes familiarity.
Reflectivity is an artist/texture friendly parameter that modulates the reflection amount. It attenuates the reflectivity defined by the ior, with the amount of attenuation rolling off to 0 as the angle tends towards the perpendicular.
Opacity and transparency are two unrelated concepts. Opacity makes an object allow rays to pass through it, and the degree of opacity determines the proportion being blended. Transparency is really transmission, it enables refraction which samples objects behind the surface with a ray bend according to the index of refraction. Transparency=raytracing, Opacity=compositing.
http://www.sidefx.com/docs/houdini16.5/nodes/vop/principledshader [www.sidefx.com] The current documentation explains the meaning most of these parameters quite well. The only one that is not really explained is opacity, which I guess is more of a rendering term that the documentation assumes familiarity.
- Grendizer
- Member
- 375 posts
- Joined: May 2014
- Offline
Hello Jsmack
First thanks for taking the time to explain these concepts and for your great insight.
- IOR: I understood it is the main parameter for reflection.
But still I find it confusing that the non reflective state is at 1. If the “zero” reflection is 1, what does mean 0.5 (where reflections do exist)? Negative reflections?
And then again, why does the “white paint” material has IOR at 1.5? Shouldn't the IOR be closer to 1, like 1.05 for example?
- Reflectivity : an attenuation for IOR, sounds right.
- Opacity and Transparency: the beginning of your explanation did not ring a bell to me as both parameters seem to allow rays to pass through the object. But when you said “Transparency=raytracing, Opacity=compositing”, it did ring a bell. In Softimage we had a shader called “sprite” which was just like a compositing app's layer transparency inside the 3d space. Perhaps Opacity is the same concept?
I don't know how these shaders operate under the hood, I'm just trying to use them in the best possible way
First thanks for taking the time to explain these concepts and for your great insight.
- IOR: I understood it is the main parameter for reflection.
But still I find it confusing that the non reflective state is at 1. If the “zero” reflection is 1, what does mean 0.5 (where reflections do exist)? Negative reflections?
And then again, why does the “white paint” material has IOR at 1.5? Shouldn't the IOR be closer to 1, like 1.05 for example?
- Reflectivity : an attenuation for IOR, sounds right.
- Opacity and Transparency: the beginning of your explanation did not ring a bell to me as both parameters seem to allow rays to pass through the object. But when you said “Transparency=raytracing, Opacity=compositing”, it did ring a bell. In Softimage we had a shader called “sprite” which was just like a compositing app's layer transparency inside the 3d space. Perhaps Opacity is the same concept?
I don't know how these shaders operate under the hood, I'm just trying to use them in the best possible way
Houdini gamboler
- malexander
- Staff
- 5202 posts
- Joined: July 2005
- Offline
Index of Refraction is an actual physical material property that you can look up for a real material. Air is almost 1, Water is 1.33 and glass is 1.5. It wouldn't be very helpful to remap it to some other range.
https://en.m.wikipedia.org/wiki/List_of_refractive_indices [en.m.wikipedia.org]
https://en.m.wikipedia.org/wiki/List_of_refractive_indices [en.m.wikipedia.org]
- Grendizer
- Member
- 375 posts
- Joined: May 2014
- Offline
- malexander
- Staff
- 5202 posts
- Joined: July 2005
- Offline
- jsmack
- Member
- 8037 posts
- Joined: Sept. 2011
- Offline
IOR less than one means the medium has an index of refraction greater than the shaded surface. IOR in most renderers can be thought of as a ratio of the material's IOR to the IOR of the medium (air/vacuum) around the material. Normally the medium is assumed to be vacuum so the ratio is with 1. However if the medium is water or glass or diamond or something else, the IOR will be the inside divided by the outside, which can give values less than 1 for example with water inside glass, or air inside water.
When using nested dielectrics where the two IOR at each interface are taken into consideration, therefore IOR is actually the material IOR, and not the ratio with the medium. The medium is assumed to be vacuum for nested dielectrics.
As for ‘white paint’, white paint is very reflective, not like you say non reflective. However the ior would typically depend on the paint's vehicle/medium such as acrylic/lacquer/polyurethane. All of which are dielectrics with indices of refraction between 1.4 and 1.6, so the reflectivity is virutally the same for all of them. Most of the reflectivity of white paint comes from the diffuse albedo, which makes it look ‘white.’ Perhaps you are confusing roughness with reflectivity, matte paint has a high roughness value, so the reflections are not specular but are diffused across the surface.
When using nested dielectrics where the two IOR at each interface are taken into consideration, therefore IOR is actually the material IOR, and not the ratio with the medium. The medium is assumed to be vacuum for nested dielectrics.
As for ‘white paint’, white paint is very reflective, not like you say non reflective. However the ior would typically depend on the paint's vehicle/medium such as acrylic/lacquer/polyurethane. All of which are dielectrics with indices of refraction between 1.4 and 1.6, so the reflectivity is virutally the same for all of them. Most of the reflectivity of white paint comes from the diffuse albedo, which makes it look ‘white.’ Perhaps you are confusing roughness with reflectivity, matte paint has a high roughness value, so the reflections are not specular but are diffused across the surface.
- Simon
- Member
- 2199 posts
- Joined: July 2005
- Online
jsmack
Opacity and transparency are two unrelated concepts. Opacity makes an object allow rays to pass through it, and the degree of opacity determines the proportion being blended. Transparency is really transmission, it enables refraction which samples objects behind the surface with a ray bend according to the index of refraction. Transparency=raytracing, Opacity=compositing.
So if you want to composite something Transparent is there are “correct” way to set the alpha channel?
I guess want you need to know is if a ray hot something in the scene or not. Is that available as an export?
The trick is finding just the right hammer for every screw
- jpparkeramnh
- Member
- 178 posts
- Joined: Jan. 2013
- Offline
- tamte
- Member
- 8775 posts
- Joined: July 2007
- Offline
SimonMantra integrator doesn't propagate alpha through reflections/refractions, and since there is no B (background) event type in LPE I don't think you can currently do it through LPE either, I may be wrong though
So if you want to composite something Transparent is there are “correct” way to set the alpha channel?
I guess want you need to know is if a ray hot something in the scene or not. Is that available as an export?
But even if you got alpha propagated for no-hit paths it would not allow you to properly comp such renders as there would be no refraction happening in the comp for such areas, may be better than black though
Tomas Slancik
FX Supervisor
Method Studios, NY
FX Supervisor
Method Studios, NY
- GnomeToys
- Member
- 13 posts
- Joined: Jan. 2017
- Offline
malexander
IOR values less than 1 are physically impossible. It would mean that the speed of light within the medium is faster than the speed of light in a vacuum (C). So far we haven't found any medium that accelerates light to faster than C.
No they're not. They're kinda common actually. See also the entire ionosphere of the planet.
According to the theory of relativity, no information can travel faster than the speed of light in vacuum, but this does not mean that the refractive index cannot be less than 1. The refractive index measures the phase velocity of light, which does not carry information.
...
Depending on the relative phase of the original driving wave and the waves radiated by the charge motion, there are several possibilities:
...
If the electrons emit a light wave which is 270° out of phase with the light wave shaking them, it will cause the wave to travel faster. This is called "anomalous refraction", and is observed close to absorption lines (typically in infrared spectra), with X-rays in ordinary materials, and with radio waves in Earth's ionosphere. It corresponds to a permittivity less than 1, which causes the refractive index to be also less than unity and the phase velocity of light greater than the speed of light in vacuum c (note that the signal velocity is still less than c, as discussed above). If the response is sufficiently strong and out-of-phase, the result is a negative value of permittivity and imaginary index of refraction, as observed in metals or plasma.
If the electrons emit a light wave which is 180° out of phase with the light wave shaking them, it will destructively interfere with the original light to reduce the total light intensity. This is light absorption in opaque materials and corresponds to an imaginary refractive index.
If the electrons emit a light wave which is in phase with the light wave shaking them, it will amplify the light wave. This is rare, but occurs in lasers due to stimulated emission. It corresponds to an imaginary index of refraction, with the opposite sign to that of absorption.
https://en.wikipedia.org/wiki/Refractive_index#Refractive_index_below_unity [en.wikipedia.org]
Most of these don't matter much for 3D rendering, although the tables of complex IORs for the visible spectrum are used in full spectrum renderers for conductor materials and usually have a large number of real components <1.
-
- Quick Links