MIA Material - Background Information

From TOI-Pedia

Introduction

MIA_material put to use[1]

The mental ray mia_material is a monolithic material shader that is designed to support most materials used by architectural and product design renderings. It supports most hard-surface materials such as metal, wood and glass. It is especially tuned for fast glossy reflections and refractions (replacing the DGS material) and high-quality glass (replacing the dielectric material).

Besides the 'mia material', you can use 'mia material x'. These are just two different interfaces using the same underlying code, so the functionality is identical, except that mia material x has some additional parameters that make working with it a bit easier (i.e. Bump Mapping).

There are a lot of properties to set when using mia materials. In the first part of this page the theory behind the most important properties is explained. In the tutorial MR setting up a basic mia material you will find a guided step by step walkthrough for making a simple mia material.


Theory

Physics

MR Shading Model[2]

The mia_material primarily attempts to be physically accurate by keeping the track of the light distributed; when light strikes a "real-world" material, part of the light is absorbed, reflected and/or refracted, hence no light magically (dis)appears.

Because of this physical correctness Mental Ray generates an image which has an output with a high dynamic range. How visually pleasing the material looks depends on how the mapping of colors inside the renderer to colors displayed on the screen is done. Therefor it is highly encouraged to use a tone mapper.

From a usage perspective, the shading model consists of three components:

  • Diffuse - diffuse channel (including Oren Nayar "roughness").
  • Reflections - glossy anisotropic reflections (and highlights).
  • Refractions - glossy anisotropic transparency (and translucency).



Material Properties

Diffuse Shading

AR0771 diffuse.jpg

The diffuse shading setting consists of three components: Diffuse Weight, Diffuse, Diffuse Roughness.

Diffuse The diffuse is often referred to as the base color of the material. This can be done by picking a color from the color-chooser or by linking a (file)texture to get a more complex set of colors. Keep in mind that this is the basic color layer, its final looks will depend on almost all other value discussed in this article. When mimicking a real life material it is key to find its "true" color. A good example of this is glass: Glass is often made using a blueish color for the diffuse, whereas in real life this is the color of the reflected sky, the glass itself is colored almost black/dark green.


Diffuse Weight

Diffuse Reflection

Diffuse weight sets the desired level (and diffuse the color) of the diffuse reflectivity, 0.00 being 0% reflection and 1.00 being 100% reflection. Since the material is energy conserving, the actual diffuse level used depends on the reflectivity and transparency as discussed below. So a diffuse weight of 0.7 will result in absorbing 30% of the diffuse component. Diffuse reflection is the reflection of light from an uneven or granular surface such that an incoming ray of light is seemingly reflected at a number of angles (scattered). It is the complement to specular reflection which will be discussed later in this article.

Diffuse Weight 1.0
Diffuse Weight 0.5
Diffuse Weight 0.0 (as you see all light is absorbed


Diffuse Roughness The appearance of various materials are determined to a large extent by their reflectance properties. When looking at "real-life" materials through a magnifying glass we can see that almost all of them have a certain surface "roughness": The surface consist of numerous small micro-facets. These micro-facets have an effect on how the light is scattered. The diffuse weight determines the amount of diffuse reflection whereas the diffuse roughness affects the direction of the scattering of the light. This effect it mimicked by the so called Oren-Nayar shading model. Compared to the default Maya-Lambert shader, this shader takes surface roughness into account. A value of 0.0 for the diffuse roughness is comparable to the default lambert, higher values will result is a rougher surface look.

Oren nayer.jpg
Oren nayer example.png


Low Diffuse Roughness in real life
Low Diffuse Weight in real life
High Diffuse Weight in real life


Specular Reflectivity

AR0771 specular.jpg
Specular relfection.png

Specular reflection is the perfect, mirror-like reflection of light (or sometimes other kinds of wave) from a surface, in which light from a single incoming direction (a ray) is reflected into a single outgoing direction. Such behavior is described by the law of reflection, which states that the direction of incoming light (the incident ray), and the direction of outgoing light reflected (the reflected ray) make the same angle with respect to the surface normal. The reflectivity and the reflection color together define level of reflections as well as the intensity of the traditional "highlight" (also known as "specular highlight" or the "hotspot").

This value is the maximum value - the actual value also depends on the angle of the surface and comes from the BRDF curve.

Reflectivity value 0.5
Reflectivity Color: White
Reflectivity value 1.0
Reflectivity Color: White
Reflectivity value 1.0
Reflectivity Color: Grey
Reflectivity value 1.0
Reflectivity Color: Green

Note how the high reflectivity automatically "subtracts" from the diffuse colors. If this didn't happen, the material would become unrealistically over-bright, and would break the laws of physics.

Reflectivity high in real life
Reflectivity low in real life


Glossy Reflectivity

AR0771 glossy.jpg

Besides just a specular reflection we can also define the glossiness by setting the Reflection Gloss. A value of 0.0 is comparable to no reflection, a value of 1.0 to complete specular reflection. So the lower the value the more glossy, the higher the more specular.


Reflectivity value 0.4
Reflection Gloss 0.2
Reflectivity value 0.4
Reflection Gloss 0.5
Reflectivity value 0.4
Reflection Gloss 0.8

Calculating glossiness can be a very consuming process during rendering due to the complex reflections involved. This is where the Reflection Gloss Samples can help; The Reflection Glossiness Samples parameters defines the maximum number of samples (rays) that are shot to create the glossy reflections. Higher values render slower but create a smoother result. Lower values render faster but create a grainier result. Generally 32 is enough for most cases.

Reflection Gloss Samples 8
Rendertime 19 sec
Reflection Gloss Samples 16
Rendertime 21 sec
Reflection Gloss Samples 32
Rendertime 22 sec

Note that the differences in render time are marginal as this is a very simple scene.


Glossiness High in real life
Glossiness Low in real life

Refraction (transparency)

AR0771 refraction.jpg


In the transparency settings we can define the transparency of the material and the way the transparency looks. The 'mia material x' allows the user to define the way light travels through the object. When we look at materials in the "real-world" we can see that most transparent object refract the light in some way, furthermore there are different types of transparency; clear, glossy, translucent (wax-like materials etc.) which all can be simulated.
Let us start with the "default" transparency value which sets the transparency of the material, 0 being completely transparent, 1.0 completely opaque.

Transparency value 0.0
Transparency value 0.5
Transparency value 1.0

The Refraction Color sets the color of the transparent material making it thereby possible to create colored glass.

Color Blue
Color Green
Color Red

The Index Of Refraction changes the refractive value of the material. A refractive value of 1.0 means that there is no bending of light, compared to Air, therefore this is a completely unrealistic value for any material, it will be impossible to perceive the "edges" of the object. Therefor it is advised to set the correct refractive index for each material, which can be found in this table. In simple terms, the higher the refractive index, the more distorted the refractive image looks.

Index of Refraction 1.0
Index of Refraction 1.2
Index of Refraction 1.5

The Glossiness setting works the same as the glossiness in the reflection part. A value lower than 1.0 make the material look glossy, and in this case the reflection. This value can be used to simulate sand-blasted glass etc. Combined with the glossiness we also have to set the number of samples, for low glossy values like 0.8 the default sample setting of 8 is sufficient, more glossy values need more samples. Try to keep the number of samples as low as possible to save rendertime.

Glossiness 0.8
Samples 8
Glossiness 0.5
Samples 8
Glossiness 0.3
Samples 128
Advanced Refraction

Solid vs. Thin-Walled The transparency/translucency can treat objects either as solid or thin walled.

If all objects were treated as solids at all times, every single window pane in an architectural model would have to be modeled as two faces; an entry surface (that refracts the light slightly in one direction), and immediately following it an exit surface (where the light would be refracted back into the original direction).

Not only is this additional modeling work, it is a waste of rendering power to model a refraction that has very little net effect on the image. If you want you can enable thin-walled for a single surface thereby enabling the refractive behavior instead of modeling the glass panel.

Glass Plane with Solid setting
Glass Plane with Thin walled setting

Bump

AR0771 bumb.jpg
Example where you could consider using bump mapping

Bump mapping is a technique that fakes small indentations in the object like seams between bricks and fabric textures. The bump is a fast method of simulating depth on an object without actually modeling it. This will save time and also reduce complexity of the model. But keep in mind that it is only a illusion of depth, so the edges of the object, no matter how much bump is applied, will look straight/flat. To actually deform your surface you would need displacement mapping.

How bump map works
bump mapping applied to the torus


Ambient Occlusion

AR0771 AO.jpg
the result of an ambient occlusion render[3]

Ambient Occlusion (AO) is a method used to simulate the global illumination effect in corners, hence it simulates the dark spaces in a model. This effect is best visible in the corners of room, if you look closely you can see that it is darker. AO calculates this effect without the presence of lights, instead it uses the geometry to define area's where the light would be blocked by other surfaces. It outputs a Grey scale image which is combined with the diffuse channel (the darker parts in the AO image will darken the diffuse color). When this method is combined with existing lights it will create a more detailed image, with a greater sense of depth.

AO with blue-ish colors

There are 3 main settings, first the number of samples, the lower the number, the faster the calculation but the more grainy the result. A typical setting for default renders would be 64 samples. The second value is the distance, this creates only a "localized" AO effect; only surfaces that are within the given radius are actually considered occluders (which is also massively faster to render). The practical result is that the AO gives us nice "contact shadow" effects and makes small crevices visible. The last setting is the color, by default the color for the darker parts is black, but experimenting with different colors can lead to other "artistic" effects.


No Ambient Occlusion
Render Time: 21 sec
Ambient Occlusion 16 samples
Render Time: 25 sec
Ambient Occlusion 64 samples
Render Time: 41 sec
Ambient Occlusion Distance 2.0
Render Time: 33 sec


Ambient Occlusion on
Ambient Occlusion off

Tutorials

Notes

  1. Image create by Sander Mulders as part of the AR0771 course
  2. Image from the Autodesk Maya Help files
  3. created with a separate Ambient occlusion shader, the MIA material automatically combines this image with the diffuse channel.


--

Back to Maya

Back to Lighting and rendering

Back to Mental ray rendering

Personal tools
Actions
Navigation
Tools