Skip to content

RedSDK Materials are based on the following components:

Diffusion This is the diffuse color / texture information of the material, used in a Lambertian equation. img
Transmission This is the transmission color / texture information of the material. The transmission has precedence over the diffusion term for the calculation of energy preservation. img
Reflection This is the reflection color / texture information of the material. The reflection has precedence over the diffusion and transparency terms for the calculation of energy preservation. img

These inputs can be modified using special parameters:

Fresnel The fresnel option is a very powerful term that is used to modulate the amount of reflection emitted by the material based on the angle of the viewing direction with the surface. This must be turned on for all glasses materials. img
Anisotropic reflectance This is an extra anisotropic term that can be set to specify anisotropic reflections in the realistic material. Two anisotropy values (anisotropy in U and anisotropy in V) can be set, or texture with at least two channels (red and green) can be set instead, to define a per-pixel anisotropic information. Anisotropy values are in [0.0, 1.0]. The larger the value the wider the reflection angle. img
Anisotropy orientation This term defines the orientation of the anisotropy. Either a single angular value or a texture with at least one channel (red) defines the value of the rotation angle to apply to the basis used to define the reflectance of the material. Angles are expressed in radians. The read texture value is multiplied by 2PI to map the usual [0.0,1.0] range to [0.0,2PI]. img
Transmission glossiness This term defines the glossiness value of the material. A single glossiness value or a texture with at least one channel (red) can be used to define the per-pixel transmission glossiness of the material. Glossiness values are in [0.0,1.0]. The larger the value the wider the transmission glossiness cone. img
Transmission scattering This is an extra absorption term that can be specified for the material transmission. It uses an out-scattering color and an out-scattering scale used to specifiy the amount of energy being absorbed along the path of a ray for each unit length crossed in the model media volume. img
Reflection fog This is fade-out term that can be specified for reflections. At a certain distance, the color of the reflection becomes equal to the specified reflection fog color, and any other visible reflection is lost. img

Finally, materials also feature surface modifiers that are detailed below:

Bump map The bump map of the realistic material affects the surface normal of the geometry at the shaded fragment. img
Displacement map The displacement map of the realistic material modifies the surface of the geometry that uses it. img

Diffusion The diffusion model used is Lambertian, meaning that the incoming light is diffused uniformly in every outgoing direction (i.e. in the whole hemisphere around the surface hit point). It is controlled giving one color (constant over the surface or by texel using a texture). A light that illuminates a surface produces a more visible lighting if it's aligned with the surface normal.

Reflection

In our realistic material, reflections have greater weight than two others shading components. First, the user has to choose between two different behaviors (see the figure below):

  • Fresnel-like reflections: the reflection amount is proportional to the opposite of the dot product between the eye vector and the surface normal. Reflections are then stronger near the grazing angles. We use the Schlick Fresnel term approximation in our model (as in almost any other shading models found in the literature). Note that the reflection amount is still post-multiplied by the user-given reflection color.
  • Uniform reflection: the reflection amount is read from the material input (constant color or texture)

img

Fresnel reflections (on the left) compared to uniform ones (on the right); in the Fresnel case, note how the reflection fades off as the angle between the eye vector and the surface normal decreases Whatever the model you choose, reflections can be made glossy and / or anisotropic. The glossiness is a measure of the dispersion of the reflection rays around the perfectly specular reflection vector. It can be seen as the half-angle of the cone subtended by the reflection vector where reflection samples are taken. The more the angle increases the more the reflections are blurry (and will require samples to avoid too much noise; see figure below)

. img

The sphere on the right is less glossy than the one on the left. The anisotropy defines the shape of the reflections. Anisotropic materials reflect light according to the surface orientation (see figure below). It means that a local surface coordinate system is needed to handle oriented reflections.

img

The sphere on the left is isotropic as the one on the right is anisotropic. Notice how reflections are vertically distorted in the anisotropic case

Transmission

Every realistic material has its own index of refraction (IOR) When transparent, the material IOR is used to deviate light rays when they travel through the volume (see figure below).

img

The same realistic material with two different IOR values (1.02 on the left and 1.1 on the right) As for reflections, refractions can be glossy to simulate a wide range of materials:

img

The same realistic material with (on the right) or without (on the left) refraction glossiness The Bidirectional Reflectance Distribution Function is a function that defines how light is reflected at an opaque surface. BRDF - Reflection This group lets you set the glossiness parameter of reflection. The glossiness parameters control how much the reflections/transmissions are blurry. Depending on the chosen glossiness values, the results may vary a lot:

img

Different reflection glossiness settings Glossiness is achieved by increasing the "Anisotropy in U" and "Anisotropy in V" parameters. If both parameters are identical, then, the reflection is isotropic. If both parameters have different values, the reflection is anisotropic, like on a CD-ROM surface or on hairs and furs.

img

Parameters for a strong anisotropy

BRDF - Orientation

img

Different reflection anisotropic settings

BRDF - Transmission

Like for the BRDF - Reflection group, this one lets you set the glossiness parameter for the transmission. The IOR (Index Of Refraction) is exposed to control the amount of refraction.

img

A transparent material with different IOR

Bump and Displacement

For bump or displacement, things are a little bit different as those channels can't be color-based. The combo box is then adjusted to propose only the texture mode. The height of the bump/displacement can be set via a parameter. Like the previous material channels, Offset, Scale and Rotation parameters are used to transform the texture mapping. img

Difference between Bump (on the left) and Displacement (on the right)

Advanced options

When it comes to setup reflection/transmission, Fresnel support is essential. It describes the way real surfaces interacts with the light. The strength of the reflection generally depends on the viewing angle (the angle between the observer and the surface normal). For example, see how your office window panes or car paint reflect more when viewed under grazing angles rather than when front facing. img

Difference between Fresnel (on the left) and non-Fresnel (on the right) reflections This is also the place where you can turn on Caustics generation (both reflective and refractive) for your material. img

A glass material with caustics turned on (on the left) or off (on the right) A Double sided option is also available in this category to set the back-face rendering of the shape.

RedSDK Material Properties

Property Description Min Max Default
Options
Double sided: Controls the front and back sides visibility 0;
Note: Caustics are produced by objects when light gets concentrated through reflections and refractions. Well-known examples are visible at the bottom of a swimming pool under the summer sun or a glass on a table.
Reflective caustics: Enables/disables reflective caustics 0;
Refractive caustics: Enables/disables refractive caustics 0;
Fresnel: Controls the Fresnel behavior 0;
IOR: Controls the index of refraction (IOR) of the material -1e+038 1e+038 1.5;
Transmission scattering color: Controls the out-scattering along the transmission ray in the material 255 255 255;
Transmission scattering scale: Scales the effect of the transmission scattering color -1e+038 1e+038 0;
Reflection fog: Enables/disables Reflection fog 0 0 0;
Reflection fog color: Controls the color of the reflection fog 0 0 0;
Reflection fog distance: Defines the distance at which the true reflection color gets replaced by the reflection fog color -1e+038 1e+038 3.40282e+038;
Pattern
Color shader
Diffuse color: Controls the diffuse color 255 0 0;
Texture Shader
Diffuse texture: Controls the diffuse texture bmp, jpg, tif, png
Diffuse UV matrix U offset: Controls the translation of the texture along U -1e+038 1e+038 0;
Diffuse UV matrix V offset: Controls the translation of the texture along V -1e+038 1e+038 0;
Diffuse UV matrix U tiling: Controls the number of texture repetitions along U -1e+038 1e+038 1;
Diffuse UV matrix V tiling: Controls the number of texture repetitions along V -1e+038 1e+038 1;
Diffuse UV matrix UV rotation angle: Controls the rotation angle of the texture 0 360 0;
Reflectance
Color shader
Reflection color: Controls the reflection color 127 127 127;
Texture Shader
Reflection texture: Controls the reflection texture bmp, jpg, tif, png
Reflection UV matrix U offset: Controls the translation of the texture along U -1e+038 1e+038 0;
Reflection UV matrix V offset: Controls the translation of the texture along V -1e+038 1e+038 0;
Reflection UV matrix U tiling: Controls the number of texture repetitions along U -1e+038 1e+038 1;
Reflection UV matrix V tiling: Controls the number of texture repetitions along V -1e+038 1e+038 1;
Reflection UV matrix UV rotation angle: Controls the rotation angle of the texture 0 360 0;
Transparency
Color Shader
Transmission color: Controls the transmission color 0 0 0;
Texture Shader
Transmission texture: Controls the transmission texture bmp, jpg, tif, png
Transmission UV matrix U offset: Controls the translation of the texture along U -1e+038 1e+038 0;
Transmission UV matrix V offset: Controls the translation of the texture along V -1e+038 1e+038 0;
Transmission UV matrix U tiling: Controls the number of texture repetitions along U -1e+038 1e+038 1;
Transmission UV matrix V tiling: Controls the number of texture repetitions along V -1e+038 1e+038 1;
Transmission UV matrix UV rotation angle: Controls the rotation angle of the texture 0 360 0;
BRDF-Reflection
NOTE: The Bidirectional Reflectance Distribution Function is a function that defines how light is reflected at an opaque surface.
Values Shader
Anisotropy in u: Controls the material anisotropy in u -1e+038 1e+038 0.01;
Anisotropy in v: Controls the material anisotropy in v -1e+038 1e+038 0.01;
Texture Shader
Anisotropy texture: Controls the anisotropy texture bmp, jpg, tif, png
Anisotropy UV matrix U offset: Controls the translation of the texture along U -1e+038 1e+038 0;
Anisotropy UV matrix V offset: Controls the translation of the texture along V -1e+038 1e+038 0;
Anisotropy UV matrix U tiling: Controls the number of texture repetitions along U -1e+038 1e+038 1;
Anisotropy UV matrix V tiling: Controls the number of texture repetitions along V -1e+038 1e+038 1;
Anisotropy UV matrix UV rotation angle: Controls the rotation angle of the texture 0 360 0;
BRDF-Orientation
Rotation Shader
Anisotropy rotation: Controls the rotation of the anisotropy 0 1 0;
Texture Shader
Anisotropy rotation texture: Controls the orientation of the anisotropy bmp, jpg, tif, png
Anisotropy rotation UV matrix U offset: Controls the translation of the texture along U -1e+038 1e+038 0;
Anisotropy rotation UV matrix V offset: Controls the translation of the texture along V -1e+038 1e+038 0;
Anisotropy rotation UV matrix U tiling: Controls the number of texture repetitions along U -1e+038 1e+038 1;
Anisotropy rotation UV matrix V tiling: Controls the number of texture repetitions along V -1e+038 1e+038 1;
Anisotropy rotation UV matrix UV rotation angle: Controls the rotation angle of the texture 0 360 0;
BRDF-Transmission
Angle Shader
Transmission glossiness angle: Controls the glossiness angle of the transmission 0 1 0;
Texture Shader
Transmission glossiness texture: Controls the transmission glossiness texture bmp, jpg, tif, png
Transmission glossiness UV matrix U offset: Controls the translation of the texture along U -1e+038 1e+038 0;
Transmission glossiness UV matrix V offset: Controls the translation of the texture along V -1e+038 1e+038 0;
Transmission glossiness UV matrix U tiling: Controls the number of texture repetitions along U -1e+038 1e+038 1;
Transmission glossiness UV matrix V tiling: Controls the number of texture repetitions along V -1e+038 1e+038 1;
Transmission glossiness UV matrix UV rotation angle: Controls the rotation angle of the texture 0 360 0;
Bump
Texture Shader
Bump texture: Controls the bump texture bmp, jpg, tif, png
Bump UV matrix U offset: Controls the translation of the texture along U -1e+038 1e+038 0;
Bump UV matrix V offset: Controls the translation of the texture along V -1e+038 1e+038 0;
Bump UV matrix U tiling: Controls the number of texture repetitions along U -1e+038 1e+038 1;
Bump UV matrix V tiling: Controls the number of texture repetitions along V -1e+038 1e+038 1;
Bump UV matrix UV rotation angle: Controls the rotation angle of the texture 0 360 0;
Displacement
Texture Shader
Displacement texture: Controls the surface displacement bmp, jpg, tif, png
Displacement height: Controls the amount of geometry displacement -1e+038 1e+038 0;
Displacement offset: Controls the relative position of displacement -1e+038 1e+038 0;
Displacement UV matrix U offset: Controls the translation of the texture along U -1e+038 1e+038 0;
Displacement UV matrix V offset: Controls the translation of the texture along V -1e+038 1e+038 0;
Displacement UV matrix U tiling: Controls the number of texture repetitions along U -1e+038 1e+038 1;
Displacement UV matrix V tiling: Controls the number of texture repetitions along V -1e+038 1e+038 1;
Displacement UV matrix UV rotation angle: Controls the rotation angle of the texture 0 360 0;

Common Indices of Refraction

Material IOR
Acetone 1.36
Air 1.0
Alcohol 1.33
Chromium Oxide 2.7
Copper Oxyde 2.7
Crystal 2.0
Diamond 2.42
Emerald 1.57
Ethyl Alcohol 1.36
Glass 1.5
Glass, Crown 1.52
Glass, Heaviest Flint 1.89
Glass, Heavy Flint 1.65
Glass, Light Flint 1.58