# PBR Material

By default, each 3D Model has a bound PBR Material. This Material contains all settings and texture channels. To apply an existing library material to a 3D Model, simply **drag & drop** material from the library over the 3D model in the viewport.

When selecting your 3D-Model, you can find the Material settings in the Settings window:

![](https://content.gitbook.com/content/SJPsyh5CBOise9BtVNGO/blobs/tKnvYT5zjy7OxWCIe9tm/40894509.png)

## **Material Channels** <a href="#pbrmaterial-materialchannels" id="pbrmaterial-materialchannels"></a>

The PBR material consists of 6 different channels: Albedo, Height, Normals, Metalness, Roughness, and Emissive. Most of these channels offer a texture channel along with an offset value.

### **Diffuse / Albedo (RGB)**

This represents the base color of the material. This can be a solid color or a texture.![](https://content.gitbook.com/content/SJPsyh5CBOise9BtVNGO/blobs/pFeByx6dUco8nr0l71LO/41156660.png)![](https://content.gitbook.com/content/SJPsyh5CBOise9BtVNGO/blobs/syXiBs8gVVE3jcUYNrek/41091108.png)

### **Metalness (Grayscale)**

All differences in reflectance and absorption of natural surfaces can be split into two different types: Electric (Metals) and Dielectric (Plastics, Fabric, etc.). The Metalness value defines the transition between these types. 0=Dielectric 100%=Metallic

<div align="left"><img src="https://content.gitbook.com/content/SJPsyh5CBOise9BtVNGO/blobs/IghZpWALEvROTwkeIyNz/41156672.png" alt=""> <figure><img src="https://content.gitbook.com/content/SJPsyh5CBOise9BtVNGO/blobs/UvxQXmRYV30tV8Dnmuo1/41156666.png" alt=""><figcaption></figcaption></figure></div>

### **Roughness (Grayscale)**

The Roughness channel describes how rough or smooth the surface is, which has a big influence on how it reflects the light and environment. 0%=smooth (like a mirror), 100% = full rough (like a paper)

![](https://content.gitbook.com/content/SJPsyh5CBOise9BtVNGO/blobs/Vx7i0Jl1RVLHz5uZxZPa/41189414.png)![](https://content.gitbook.com/content/SJPsyh5CBOise9BtVNGO/blobs/cGgFUzVZqF947cxk3tN8/41189420.png)

### **Normals (RGB)**

Normal Maps are used to add 3D details to the surface. These normal maps store a surface normal vector in tangent space. While Depence² uses a left-handed coordinate system it uses the following normal map orientation: Red=X+ Green=Y- Blue=Z+. Depence uses "DirectX-style" normal maps which are -Y:

<figure><img src="https://content.gitbook.com/content/SJPsyh5CBOise9BtVNGO/blobs/YRTDz1EmmLVV0ZUUrHiV/40992817.png" alt=""><figcaption></figcaption></figure>

### Example of a normal map. <a href="#pbrmaterial-exampleofanormalmap." id="pbrmaterial-exampleofanormalmap."></a>

#### **Height (Grayscale)**

In addition to Normal Mapping the Heights are used to create the 3D illusion of bigger high detailed structures. Therefore a grayscale image is used where Black = lowest height and White = Max Height

![](https://content.gitbook.com/content/SJPsyh5CBOise9BtVNGO/blobs/nKbbrUquQYJ3aN4awVsS/40927270.png)

![Material with heightmap applied](https://content.gitbook.com/content/SJPsyh5CBOise9BtVNGO/blobs/89hb91Z8MWAQbah6ncKq/40829006.png)

### **UV Mapping**

The UV-Mapping of a 3D Model defines how a texture will be applied on models polygons. These UV's are usually stored within the 3D-Model. In some cases, these won't be scaled correctly. Therefore each material has additional properties:

| UV Scale        | Scales the texture on the model.                                                                                   |
| --------------- | ------------------------------------------------------------------------------------------------------------------ |
| UV Offset       | Moves the texture on the model.                                                                                    |
| Texture Mapping | <p></p><ul><li>UV Mapping: Uses default mapping.</li><li>Box-Mapping: Computes UVs in a Box perspective.</li></ul> |
| Tile-Size       | When using Box-Mapping this defines the size in square meters of one tile.                                         |
| Animate UV      | constantly moves the UV coordinates by the UV-offset values                                                        |

###

### Transparency

This option allows to make an object transparent or masked out by an alpha mask.&#x20;

| Translucent        | makes the object transparent \*                               |
| ------------------ | ------------------------------------------------------------- |
| Alpha Texture      | Mask out an object based on a black/white texture             |
| Alpha from Diffuse | Uses the alpha channel from the Diffuse texture for masking   |
| Diffusion          | Creates kind of milky glass effect depending on the roughness |

{% hint style="info" %}
The rendering of transparent objects is very limited in Depence. F.e. layering of multiple objects or things like absorption and shadows are not supported.&#x20;
{% endhint %}

{% hint style="danger" %}
Once an object is rendered with transparency, the lighting calculations having a huge performance impact. This scales with the number of light & transparent objects. So only use transparency when really necessary and on few objects.&#x20;
{% endhint %}

### **Weathering**

These properties create a procedural wetness effect on the surface.

![](https://content.gitbook.com/content/SJPsyh5CBOise9BtVNGO/blobs/iLeJjGc3BNBAVO1wUq4E/40829012.png)
