cables is under heavy development.
There might be one or another bug, please let us know about it!

PbrMaterial Op



PBR/Physical Based Rendering Material for realistic materials

summary (oneliner)

Can be used with Ops.Gl.Pbr.PbrEnvironmentLight for image based lighting or with standard Lights found in the op library.

You can drive the settings for your Ambient Occlusion, Roughness and Metalness (AORM or ARM textures) with a single texture or manually adjust the global setting. You can also try compositing an AORM texture in an Image Compose with additive RGB color channels.



example patch id

youtube id

caniuse query


related ops


render (Trigger)

Diffuse Color

R (Number)

amount of red

G (Number)

amount of green

B (Number)

amount of blue

A (Number)

opacity of material. Use Alpha Mode to change how this value is used.

Shader Parameters

Roughness (Number)

roughness of the surface

Metalness (Number)

blend F0 between 0.04 and albedo by this value

Alpha Mode index (integer /Number)

material opacity mode


Tonemapping index (integer /Number)

tone mapping modes

Exposure (Number)

adjust exposure used for tonemapping

Advanced Shader Parameters

Disable geometric roughness (boolean /Number)

don't automatically introduce roughness calculated from screen-space geometry density

Use roughness from normal map (boolean /Number)

calculate screen-space roughness from normals on top of geometric roughness

Use Vertex Colours (boolean /Number)

enable vertex colours then select their purpose

Vertex Colour Mode index (integer /Number)

when using vertex colours, assign their purpose here

Height Intensity (Number)

influence of heighmap texture

Faster heightmapping (boolean /Number)

toggle to use less precise but more efficient method

Use Clear Coat (boolean /Number)

add a thick dielectric layer to your material. This layer will ignore the normal map.

Clear Coat Roughness (Number)

dielectric layer roughness amount


IBL LUT (Object)

generally auto set by PBR Environment

Diffuse Irradiance (Object)

generally auto set by PBR Environment

Pre-filtered envmap (Object)

generally auto set by PBR Environment

Num mip levels (integer /Number)

generally auto set by PBR Environment


Albedo (Object)


AORM (Object)

linear bt.709, R: ambient occlusion, G: roughness, B: metalness

Normal map (Object)

linear bt.709, +Y, TS per vertex

Height (Object)

HeightMap input, uses the red channel for height information

Lightmap (Object)

Lightmap input


Diffuse Intensity (Number)

diffuse intensity when using PBR Environment

Specular Intensity (Number)

Specular intensity when using PBR Environment

Lightmap is RGBE (boolean /Number)

toggle if your lightmap is an RGBE format texture

Lightmap Intensity (Number)

intensity of lightmap texture


Next (Trigger)

Shader (Object)

Caught a mistake or want to contribute to the documentation?

Edit Documentationcancel save

PBR Material Example

Open Example In Editor

Youtube Video Tutorial

Patches using PbrMaterial


created op
2022-01-19 - amajesticseaflapflap

Ops.Dev.PbrMaterial renamed to Ops.Gl.Pbr.PbrMaterial
2022-02-07 - pandur