# Extended PBR Model

This model offers more attributes than the **PBR Model**. It allows for selecting and editing:

* `Environment`
* `Normal Mapping`
* `Albedo Texture`, `Color`, and `Blending`
* `Specular Color`
* and several aspects of `Occlusion Metallic Roughness`.

All these **Attributes** are described in greater detail below.

![](https://2628349686-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fwnv17cpjDin2deSlOz0z%2Fuploads%2Fgit-blob-796f11e24cad141b64122f44e4f6ed276f6f44ef%2Fextendedpbrmaterialmat1.png?alt=media)

## Attributes

### Material

![Material](https://2628349686-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fwnv17cpjDin2deSlOz0z%2Fuploads%2Fgit-blob-26d4dacde88cc416a4c240b0634ecdbb33e9c4cb%2Fextendedpbrmat2.png?alt=media)

This **Attribute** provides the `Name` of the **Material** as well as the `Shading model` type. It also sets the `Alpha` value if it is toggled on.

The `Alpha` channel is additional to the RGB channels and adds a kind of transparency to the object by mixing the background and foreground colors. For example, if the `Alpha` value is set to 0.5, then this would result in a 50% mix of the object and its background, providing a somewhat see-through quality.

### Environment Map

![Environment Map](https://2628349686-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fwnv17cpjDin2deSlOz0z%2Fuploads%2Fgit-blob-885ce51b85f44b804d84382dd6cf5dd0eb0d4f9e%2Fextendedpbrmaterial3.png?alt=media)

This enables the user to set a `Texture` which reflects the environment around an **Object**, meaning that the **Object** reflects the surface surrounding it (whether that be the background, another **Object**, or both combined.).

The two types of offset allow the beginning of the image on the provided `Texture` to be "delayed" in either the x or y direction. The resulting "cut off" piece wraps around to the start of the image.

`U offset (deg)` moves the image from left to right (X-axis) and `V offset (deg)` moves the image from bottom to top (Y-axis).

### Normals

![Normals](https://2628349686-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fwnv17cpjDin2deSlOz0z%2Fuploads%2Fgit-blob-7780c73437adbf0ee52ea477774b24fccbbcb44f%2Fextendedpbrmaterial4.png?alt=media)

A normal is a line perpendicular to the surface of some object. *Normal mapping* distorts these normals and simulates a surface with light and shadow, even if the object surface itself is flat. This is only possible with a light source. The `Normal Map` sets this surface and `Use Normal Map` toggles it on and off.

### Albedo

![Albedo](https://2628349686-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fwnv17cpjDin2deSlOz0z%2Fuploads%2Fgit-blob-e2d4b469f9134cb25e42941edcce269bbb8efd3a%2Fextendedpbrmaterial5.png?alt=media)

`Color` of `Albedo` sets the base diffuse color of the model.

`Texture` takes any image to add any desired visual information.

Using `Blending`, the `Texture` and `Color` are combined. If `Blending` is set to 1 then 100% of the `Texture` is displayed on the **Object**. If 0.5, then it displays a 50/50 ratio of `Texture` and `Color`.

### Specular

![Specular](https://2628349686-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fwnv17cpjDin2deSlOz0z%2Fuploads%2Fgit-blob-185a4fe7321a170516d3953681a803c836995f87%2Fextendedpbrmaterial6.png?alt=media)

`Specular` is the point of reflection of the light source. `Color` sets the color of it.

### Occlusion Metallic Roughness

![Occlusion Metallic Roughness](https://2628349686-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fwnv17cpjDin2deSlOz0z%2Fuploads%2Fgit-blob-3336b01d9c51cea2d5d2c95475ffe67e17e58146%2Fextendedpbrmaterial7.png?alt=media)

`Use Occlusion` toggles occlusion on and off.

`Occlusion Texture` sets an image for occlusion. *Occlusion* itself delivers shadow properties. Considering the RGB channels, *Occlusion* only uses the red channel (keep this in mind when making `Texture` files). Even without a light source, the `Texture` will show up as a shadow and light on the **Object**, simulating a bright side and dark side. *Occlusion* makes it possible for the user to make a texture for an **Object** that simulates another **Object** throwing a shadow on the first **Object**.

`Use Met. Rough.` toggles metallic roughness on and off.

`Met. Rough. Text...` sets an image for metallic roughness to contribute to the overall texture of the metallic material.

`Metallic` determines how much the surface simulates a metal-like quality, appearing shinier and harder or rougher and duller.

`Roughness` determines how rough an **Object** is, limiting or strengthening reflectivity.
