When Owlet renders a scene, it actually works with solids, not with triangles. As in real life, each object is actually a solid with outside surface and inside medium. Owlet expects the same from the scene objects you render.
Because of that, Owlet materials have inside “medium” and outside “layers”. There can be many layers arranged in groups, but only one medium - the inside of the solid.
Here Owlet traces a ray through the object:
As you may see, the ray first hits the layer (let’s assume there just one layer for now). Then the ray splits, a part of it reflects, while the rest goes into the object (into its medium), where it refracts (changes its direction), then it travels to the other side of the object, refracts again and goes out through the outer layer.
That’s how it works in Owlet. Basically, if you need surface effects (reflections, blur, anisotropy, etc) - you configure layers, while if you need medium effects like refraction, absorption or subsurface scattering - you edit medium instead.
Here’s what it looks in Owlet’s materials panel:
Basically, layers can reflect, absorb and pass rays through. Owlet keeps ray energy intact, so the energy that comes out can’t exceed the energy that comes in with the ray. The only exception is emissive materials, but their layers are still playing by the same rules.
Each layer has three options: diffuse, specular and emissive. Diffuse option controls soft reflection, or just the “look” of the material. Specular option controls reflection and emissive option controls light emission.
Let’s start with a simple diffuse material. Here are 4 different balls with diffuse option enabled and different diffuse colors configured in Diffuse slots:
From left to right, the diffuse colors are: dark gray, red, dark green, white. As you may see, the diffuse color simply defines the color of the object.
Here are the same 4 balls rendered with the reflection option enabled instead of the diffuse one and the same colors configured in Reflection slots:
So for reflective materials (metals, for instance) the reflection color defines the color of the objects.
Now let’s make a translucent ball and see how it works:
We enable the Specular option of the layer, adjusted both layer’s and medium’s IOR (N) to 1.5 and set the medium type to “Manual”. As a result we have a transparent “glass” ball. Let’s change the reflection color now:
The layer has fresnel reflection with the index of refraction of 1.5, so we see orange reflection on the edges of the ball. Now let’s set the reflection back to white and change the transmission instead:
Now the ball is green. Note that the green color does not depend on the thickness of the ball, it’s basically a green coating of the ball which is still completely transparent inside. By setting transmission parameter to green we limited the light that goes inside the object. Now let’s combine them both:
Here you see that at the edges of the ball light is reflected, while the rest of rays go inside the ball and tinted green by the layer’s transmission parameter. You will not need colored transmission most of the time, just a grayscale, but the idea is the same: you control the amount of light that goes to the next level with the transmission parameter.
Let’s revert the transmission parameter back to white and change the medium parameters to make a really green ball:
Now the green color is defined by the medium absorption, so the thicker is the medium, the darker will be its color. That’s the proper way to define translucent materials. In this scene a ray hits the layer, reflects at the edges with orange tint and goes inside otherwise. When it goes inside it doesn’t change its color at the layer (as the transmission is white), it changes color while travelling through the medium where the absorption is configured.
Owlet lets you add as many layers as you need and group them the way you want. Think of layers like they are layers in your favorite graphics editor. Owlet traces them one by one from top to bottom in the editor tree and performs all the actions you configure for each layer.
Each layer has Mask parameter that lets you completely remove layer from processing (by setting the mask to black). This helps preventing unnecessary reflections on semi-transparent materials or completely hides the layer here or there, for instance to make a chicken wire material. Owlet always checks the mask parameter first, before starting processing a layer.
Here we added a second layer to the previous material:
The ball looks diffuse white, as the new layer goes first and blocks all the rays from entering the second layer and the medium. Let’s add a mask to it by dragging a checkers texture onto the Mask texture box:
Now the mask tells Owlet to ignore the new layer where the mask is black and we see our old green ball through it.
You can combine as many layers as you need and by combining masks and transmissions parameters create complex materials. For instance you can limit the orange reflection by loading mask to the first layer (let’s hide the second one for now):
We can add another “specular” layer with different reflection color and inverted mask to make two-color reflection on the ball:
The “Another reflection” layer has blue reflection color and uses the same, but inverted, mask image. This way you see orange and blue reflections on the ball each configured by its own layer. Now let’s enable our diffuse layer on top, but change its mask texture angle, so it looks rotated:
So now ray comes to the object and first hits the “Second” layer which is diffuse white with the mask. If the ray hits the non-masked (white) area of the surface, it can’t go further and we see the white surface. Otherwise the ray goes down to the “Another reflection” layer, where it is again checked against the mask. If that area is not masked, Owlet reflects the ray and tints it with blue, while passing the rest down to the next layer. Then the same happens with the lowest (orange) layer and the very rest of the ray goes inside the medium to be colored green while travelling through it. Then all the layers are traversed again when the ray goes out of the ball at the other side. Finally, surviving ray hits the floor, so we can see it through the gaps in the topmost white layer.
You can group layers and assign mask to groups. This helps creating complex multilayer materials that needs to be transparent here or there. Groups work absolutely the same way as layers, they just add one more mask that is taken into account by Owlet.