Conductors (metals) and dielectrics (glasses, liquids, ...) are materials that both reflect and transmit light. They are defined by their index of refraction (how the light is deflected or reflected when entering the material) and their index of extinction (how much of the light is absorbed by the material). Both indices can be measured and they can be simulated in Predict Engine.
Conductors and dielectrics are both designed with an index of refraction and an index of extinction/absorption. The choice of the type (Dielectric or Conductor) is an optimization setting for Predict Matter :
if a material is dielectric, the light can be transmitted inside the material : the path tracer will try and find a path through the material,
if a material is metallic, the light cannot be transmitted inside the material : the path tracer will only compute paths reflected by the material.
A dielectric material should have an index of refraction higher than 1 and an index of extinction lower than 0.1. Otherwise, you might want to define a metallic material. If you define a dielectric material with invalid values, a warning will be displayed bellow the spectrum definitions.
Examples of measured conductors
Examples of non-absorbing dielectrics
The absorption of a volume can be defined using three different physical values : the index of extinction (k), the index of absorption (kappa) or the absorption coefficient (alpha). These quantites are linked together by the next formulas :
k = n * kappa, and alpha = k * (4 * PI) / lambda
where n is the index of refraction of the volume and lambda the wavelength in the vacuum.
The formula that defines how much of the light is absorbed by a pure material after travelling a distance z is known as the Beer-Lambert law:
I(z) = I0 * exp(- z * alpha),
where I(z) is the intensity after a distance z, I0 is the intensity of the light entering the volume, and alpha is the absorption coefficient.
Example : To model a material that absorbs 5% of the light every 1cm,
alpha = - 1 / z * ln(I(z) / I0),
where z = 1e-2m, and I(z)/I0 = 95% = 0.95 : alpha = 5.1.
Dielectric materials defined with a constant index of refraction of 1.5, and an absorption I(z)/I0 of respectively 1%, 5% and 20% after travelling a distance z=1cm in the different materials
You can define the roughness of the material using two textures :
The Roughness defines how rough or specular the material is, it can be defined with a texture or with a Vector2. The red (x) value represents the roughness along the U axis and the green (y) value represents the roughness along the V axis, with U and V denoting the UV-coordinates system of the underlying 3D model. Setting different roughness values along the U and V axis create an anisotropic material such as a brushed metal for instance. If the roughness is defined with a texture, you can define its texture orientation with the Rotation field: this will rotate the roughness texture without rotating the local anisotropy orientation (see example below).
The Anisotropy Rotation defines the local rotation of the UV axis : it doesn't rotate the roughness texture globally but is used to rotate the local anisotropy orientation. For instance, applying an anisotropic rotation of 90° to an horizontally scratched metal (set, for instance, with a roughness of [0.1, 0]) yield a vertically scratched appearance (see example bellow).
Preview of three pure materials on planes (perfect mirrors with a constant reflectivity of 100%) :
the left material's roughness is a checkerboard with black (specular) and red (anisotropic rough) squares,
the middle material's roughness has a value of 0 inside the circle and 1 outside,
the right material's roughness is constant with a value of [0.1,0], rotated at -45°.
Example :
We use as roughness texture a checkerboard made of reddish and black squares, the former defining a roughness of [0.1,0] which creates horizontal scratches and the latter, a roughness of [0,0] which defines an ideally specular material.
We use as anisotropic rotation a texture with a black region (upper part) and a grayish region (lower part) respectively defining a rotation of 0° and 90°.
In the top left setup, we set the roughness texture without rotation or anisotropy rotation : the material is a metal gridded with specular zones and horizontally scratched zones.
In the top right setup, we add a rotation of 45° on the roughness map of the previous setup : the grid of the material is now rotated at 45°, the scratches are still horizontal.
In the bottom left setup, we add the anisotropy rotation map to the top-left setup : the grid hasn't been rotated, but the part of the metal where the anisotropy rotation is set to 90° (the lower part of the texture) is now scratched vertically instead of horizontally.
In the bottom right setup, we add a rotation of 90° on the anisotropy rotation map of the previous setup : the grid is still not rotated, but the anisotropic rotation is now 0° on the left part and 90° on the right part of the texture.
Pure materials can also be modelled as :
Perfect mirrors : conductors that are defined by their reflectivity only, they reflect 100% of the light they receive. Be aware that this is a model and cannot exist in real life,
Colored glasses : dielectrics that are defined by their index of refraction and their color.
See the Spectrums section for more details on spectrums.
The transparency of the colored glasses is defined by a float coefficient in [0;1]. The coefficient defines how much of the light is transmitted by the material after travelling though 1 cm of matter.
A glass with a transparency of 1 will be completely clear, a glass with a transparency of 0 will absorb all of the light it receives in the first cm.
The transparency value is inversely correlated to the colored glass color alpha channel.
Sphere defined using an orange colored glass, with a transparency at 1cm t defined in [0,1].
Examples of perfect mirrors
Examples of colored glasses
The normals of the geometry are very important for "Pure" and "Interface" materials : see the Geometry section for more details on the normals.
You can define more complex pure materials using the "Interface" shader. This shader enabled you to add coatings on the material, define "Thin" materials with a virtual thickness, or define an external material if the internal material is not in contact with air (water in a glass for instance).