Material Types

This section covers the various material types available in Indigo.

There are also video tutorials available for editing materials within Indigo, which include explanations of the material types, available here.

Diffuse

Diffuse materials are used for rough or "matte" surfaces which don't have a shiny appearance, such as paper or matte wall paint.

Attributes:
Albedo
Bump
Displacement
Base Emission
Emission
Layer

Phong

The Phong material is a generalisation of the Diffuse material type, adding a glossy coating on top of the diffuse base (or "substrate"). The influence of this coating is controlled by its index of refraction (IOR), with higher values corresponding to a stronger specular reflection. (the default IOR is 1.5)

It is commonly used for materials such as polished wooden floors, car paints (when multiple Phong materials are blended together) and metals.

Metals in particular can be represented using either the "specular reflectivity" option (which allows a specular colour to be defined for the material), or via measured material data (referred to as NK data).

IOR (Index Of Refraction): Controls the influence of the glossy coating; higher values produce a stronger specular reflection. The IOR should be set to the real-world value for the material, if available.
For example, the IOR of plastics is around 1.5 to 1.6.
Oil paint binder has an IOR of around 1.5.


Phong material with IOR 1.2


Phong material with IOR 1.5


Phong material with IOR 2.5

NK data: The Indigo distribution comes with a set of lab-measured data for various metals. If one of these data sets is selected, the diffuse colour and specular reflectivity colour attributes are ignored.

Specular reflectivity colour: When not using NK data, this allows you to set a basic colour for the metal; this is useful for uncommonly coloured metals such as Christmas decorations.

Green specular colour Au (gold) NK dataset Al (aluminium) NK dataset

Attributes:
Albedo
Bump
Displacement
Exponent
Base Emission
Emission
Layer

Specular

Specular materials are idealised materials which refract and/or reflect as in classical optics for perfectly smooth or flat surfaces (e.g. mirror-like reflection).

A specular material can either transmit light, as is the case with glass and water for example, or not as is the case with metals. This behaviour is controlled by the material's "Transparent" attribute.

If a specular material transmits light, it will enter an internal medium whose properties define the appearance of the material (such as green glass, which has absorption mainly in the red and blue parts of the spectrum). For more information on this please see the correct glass modelling tutorial.

Transparent: If enabled, it allows light to pass through the material. Otherwise only reflected light is simulated.

Attributes:
Albedo
Bump
Displacement
Base Emission
Emission
Absorption Layer Transmittance
Layer
Internal Medium

Oren-Nayar

Oren-Nayar materials are another generalisation of the basic diffuse material type, except unlike Phong which generalises to shiny surfaces, Oren-Nayar generalises to rougher materials.

The appearance is quite similar to diffuse materials, but with less darkening at grazing angles; this makes it suitable for modelling very rough or porous surfaces such as clay or the moon's surface.

Sigma: Controls the roughness of the material. A higher sigma gives a rougher material with more back-scattering. The default sigma value is 0.3, and values higher than 0.5 primarily cause energy loss / darkening due to strong inter-reflection. A value of 0.0 corresponds exactly to diffuse reflection.


From left to right: Diffuse material, then Oren-Nayar with sigma values 0.0, 0.2, 0.5, 1.0.

Attributes:
Albedo
Bump
Displacement
Base Emission
Emission
Layer

Glossy Transparent

The glossy transparent material is a generalisation of the specular material, to allow non-perfect (i.e. rough) reflection and refraction, via an exponent parameter as with the Phong material.

It is commonly used for materials such frosted glass or even human skin (with a low exponent value).

Attributes:
Exponent
Internal Medium
Absorption Layer Transmittance
Bump
Displacement
Base Emission
Emission
Layer

Diffuse Transmitter

The diffuse transmitter material simulates a very rough transmitting material, which reflects no light back outwards. For this reason it is normally blended with a normal diffuse material to model surfaces such as curtains or lampshades.

It is meant to be used on single-layer geometry, and although it does not have an associated internal medium by default, it is possible to use one.


An example of the diffuse transmitter material on its own.


A blend between diffuse transmitter and normal diffuse materials to simulate the appearance of a curtain.

Attributes:
Albedo
Displacement
Base Emission
Emission
Layer

Blend

The blend material type isn't a material per se, rather it combines two sub-materials using blending factor.

This blending factor is a regular channel, and so can be constant, a texture or an ISL shader, allowing for great flexibility in material creation; a blend material can also use a blend as input, enabling so-called "shading trees" of arbitrary complexity.

Note that it's not possible to blend any combination of null and specular materials, except for the case where two specular materials with the same medium are being combined.


An example blend material from the material database, showing a blend between specular and diffuse materials.

Blend: Controls the amount of each material used. A value of 0 means only Material A is used, a value of 1 means only Material B is used, 0.5 implies a 50/50 blend, etc.

Step Blend: Instead of allowing partial blends, only one of Material A or Material B are selected, depending on whether the blending factor is below or above 0.5, respectively. This is recommended for "cut-out" clipping maps (such as for tree leaves), which produce less noise using this technique.

Exit Portal

When rendering interior scenes, one frequently encounters an efficiency problem where the "portals" through which light can enter the scene from outside (e.g. an open window) are relatively small, making it quite difficult to sample.

Exit portals can greatly improve rendering efficiency in these situations by marking important areas through which light can enter the scene, which Indigo will directly sample to produce valid light carrying paths.

Although it is a material type, exit portals don't have any particular appearance of their own, they simply provide an "open window" through which the background material is seen, and through which it can illuminate the scene.

For more information and example images, please see the SketchUp exit portal tutorial.

Requirements for exit portal usage:

  • If any exit portals are present in the scene, then all openings must be covered by exit portals.
  • The face normals must face into the interior of the scene.
  • The exit portal material should only be applied to one side of a mesh (e.g. a cube), otherwise it will lose its effectiveness.
Coating

The coating material simulates a thin coating of some kind of material over another material. For example, you can create a thin coating of varnish over a metal material.


A coating material over a metal metal

The coating material can also simulate interference, which can give interesting effects when the thickness of the coating varies with position:


A coating material over a metal metal with interference enabled. Coating thickness is controlled with a shader.

Depending on the thickness of the coating, and how the thickness varies over the object (which can be controlled by a shader) you may get a kind of rainbow effect, or the material may just take on just a few colours:


400 nm thick coating showing colours from interference.

A coating can also absorb light, which will result in a tinted colour:


Coating with absorption over a metal material. The red colour comes from the absorption of non-red light as light passes through the coating layer.

Coating material attributes
Absorption

Controls the absorption of light as it travels through the coating layer.


Coating without absorption


Coating with absorption

Thickness

Controls the thickness of the coating layer. In the Indigo graphical user interface, the thickness is given in units of micrometres (μm), or millionths of a metre.

A thicker layer will have stronger absorption.


Coating with absorption, thickness of 100 μm.


Coating with absorption, thickness of 10000 μm.

Interference

If enabled, thin film interference is computed for the coating layer.
The result will be most noticable when the coating layer is on the order of 1 μm thick.


Coating without interference, thickness 0.6 μm.


Coating with interference, thickness 0.6 μm.

Double-Sided Thin

The double-sided thin material is useful for modelling thin objects, such as paper or plant leaves.

The double-sided thin material uses two 'child' materials: the front material and the back material, which are used for the front and back of the surface respectively. This means that you can make, for example, a leaf material where the front uses a different texture from the back.

It is also possible to specify the transmittance colour, which controls how light is absorbed and coloured as it passes through the object.


Render using double-sided thin material by Enslaver

Leaf example

When the leaf is lit from the front, you can see that the leaf colour differs based on if the leaf is front or back side towards the camera: (The leaf on the right has the front/top side towards the camera) The light is behind the camera.


Leaf lit from front

When lit from the back, the leaf looks the same from both the front and the back. This is also what happens with a real leaf (try it!)


Leaf lit from back

The roughness (exponent) of the top can be varied independently of the roughness of the bottom of the leaf.
In this render the leaf on the right is frontside-up, on the left backside-up:


Leaf lit from top

Double-sided Thin Attributes

IOR: This is the index of refraction of the thin slab.

Front material: For light that is reflected diffusely back from the front surface, the front material controls the distribution of such light. Should be diffuse or Oren-Nayar. This material would be, for a leaf example, a diffuse material using the front-side albedo texture of your leaf.

Back material. For light that is reflected diffusely back from the back surface, the back material controls the distribution of such light. Should be diffuse or Oren-Nayar. This material would be, for a leaf example, a diffuse material using the back-side albedo texture of your leaf.

r_f: this is the fraction of light that enters the slab that is reflected back to the side it came from.
A good default value is 0.5

Transmittance: Some light scatters right through the slab and out the other side. The transmittance controls the absorption of such light. This is where you would use, for example, your transmittance map of a leaf.

Front Fresnel scale: A factor that controls the intensity of the specular scattering off the front interface of the slab. Default value is 1.

Back Fresnel scale: A factor that controls the intensity of the specular scattering off the back interface of the slab. Default value is 1.

Front Roughness: Controls the roughness of the front interface of the slab.

Back Roughness: Controls the roughness of the back interface of the slab.

Fabric

The Fabric material is useful for modelling textiles, such as cotton, wool, velvet etc. It is similar to a diffuse material except the edges of the material appear a different colour. This simulates forwards and backscattering due to small hair fibres.

Fabric Material Attributes

Colour: This is the main colour of the fabric. As usual it can be a constant colour, a texture, or a shader.

Roughness: This controls the roughness of the surface. A rougher surface will have a wider sheen 'highlight'.


Roughness = 0.1


Roughness = 0.9

Sheen colour. This is the colour of the sheen. The sheen is generally backscattered light, seen around edges of the objects.
For example, this fabric material uses a red sheen colour:

Sheen weight: This is the strength of the sheen reflection.


Sheen weight = 0.1


Sheen weight = 0.9

Null

The null material is not a normal material type (like the exit portal material), but rather indicates that light should pass straight through it, unaffected in brightness and direction.

This on its own is not very helpful, however when combined with the blend material type it becomes very useful for making "cut-outs" such as leaf edges, which would otherwise highly complex geometry.


An example of the null material on its own.


An example of the null material blended with a Phong metal, using a grating texture as blend map.