nodes.shader.shader

shader

Classes

Name Description
AddShader Add two Shaders together
Background Add background light emission.
DiffuseBSDF Lambertian and Oren-Nayar diffuse reflection
Emission Lambertian emission shader
GlassBSDF Glass-like shader mixing refraction and reflection at grazing angles
GlossyBSDF Reflection with microfacet distribution, used for materials such as metal or mirrors
HairBSDF Reflection and transmission shaders optimized for hair rendering
Holdout Create a “hole” in the image with zero alpha transparency, which is useful for compositing.
MetallicBSDF Metallic reflection with microfacet distribution, and metallic fresnel
MixShader Mix two shaders together. Typically used for material layering
PrincipledBSDF Physically-based, easy-to-use shader for rendering surface materials, based on the OpenPBR model
PrincipledHairBSDF Physically-based, easy-to-use shader for rendering hair and fur
RayPortalBSDF Continue tracing from an arbitrary new position and in a new direction
RefractionBSDF Glossy refraction with sharp or microfacet distribution, typically used for materials that transmit light
SheenBSDF Reflection for materials such as cloth.
SpecularBSDF Similar to the Principled BSDF node but uses the specular workflow instead of metallic, which functions by specifying the facing (along normal) reflection color. Energy is not conserved, so the result may not be physically accurate
SubsurfaceScattering Subsurface multiple scattering shader to simulate light entering the surface and bouncing internally.
ToonBSDF Diffuse and Glossy shaders with cartoon light effects
TranslucentBSDF Lambertian diffuse transmission
TransparentBSDF Transparency without refraction, passing straight through the surface as if there were no geometry

AddShader

AddShader(shader=None, shader_001=None)

Add two Shaders together

Parameters

Name Type Description Default
shader InputShader Shader None
shader_001 InputShader Shader None

Attributes

Name Description
i
inputs
name
node
o
outputs
tree
type

Inputs

Attribute Type Description
i.shader ShaderSocket Shader
i.shader_001 ShaderSocket Shader

Outputs

Attribute Type Description
o.shader ShaderSocket Shader

Background

Background(color=None, strength=1.0, weight=0.0)
Add background light emission.

Note: This node should only be used for the world surface output

Parameters

color : InputColor
    Color
strength : InputFloat
    Strength
weight : InputFloat
    Weight

Inputs

i.color : ColorSocket
    Color
i.strength : FloatSocket
    Strength
i.weight : FloatSocket
    Weight

Outputs

o.background : ShaderSocket
    Background

Attributes

Name Description
i
inputs
name
node
o
outputs
tree
type

DiffuseBSDF

DiffuseBSDF(color=None, roughness=0.0, normal=None, weight=0.0)

Lambertian and Oren-Nayar diffuse reflection

Parameters

Name Type Description Default
color InputColor Color None
roughness InputFloat Roughness 0.0
normal InputVector Normal None
weight InputFloat Weight 0.0

Attributes

Name Description
i
inputs
name
node
o
outputs
tree
type

Inputs

Attribute Type Description
i.color ColorSocket Color
i.roughness FloatSocket Roughness
i.normal VectorSocket Normal
i.weight FloatSocket Weight

Outputs

Attribute Type Description
o.bsdf ShaderSocket BSDF

Emission

Emission(color=None, strength=1.0, weight=0.0)

Lambertian emission shader

Parameters

Name Type Description Default
color InputColor Color None
strength InputFloat Strength 1.0
weight InputFloat Weight 0.0

Attributes

Name Description
i
inputs
name
node
o
outputs
tree
type

Inputs

Attribute Type Description
i.color ColorSocket Color
i.strength FloatSocket Strength
i.weight FloatSocket Weight

Outputs

Attribute Type Description
o.emission ShaderSocket Emission

GlassBSDF

GlassBSDF(
    color=None,
    roughness=0.0,
    ior=1.5,
    normal=None,
    weight=0.0,
    thin_film_thickness=0.0,
    thin_film_ior=1.33,
    *,
    distribution='MULTI_GGX',
)

Glass-like shader mixing refraction and reflection at grazing angles

Parameters

Name Type Description Default
color InputColor Color None
roughness InputFloat Roughness 0.0
ior InputFloat IOR 1.5
normal InputVector Normal None
weight InputFloat Weight 0.0
thin_film_thickness InputFloat Thin Film Thickness 0.0
thin_film_ior InputFloat Thin Film IOR 1.33

Attributes

Name Description
distribution
i
inputs
name
node
o
outputs
tree
type

Inputs

Attribute Type Description
i.color ColorSocket Color
i.roughness FloatSocket Roughness
i.ior FloatSocket IOR
i.normal VectorSocket Normal
i.weight FloatSocket Weight
i.thin_film_thickness FloatSocket Thin Film Thickness
i.thin_film_ior FloatSocket Thin Film IOR

Outputs

Attribute Type Description
o.bsdf ShaderSocket BSDF

GlossyBSDF

GlossyBSDF(
    color=None,
    roughness=0.5,
    anisotropy=0.0,
    rotation=0.0,
    normal=None,
    tangent=None,
    weight=0.0,
    *,
    distribution='MULTI_GGX',
)

Reflection with microfacet distribution, used for materials such as metal or mirrors

Parameters

Name Type Description Default
color InputColor Color None
roughness InputFloat Roughness 0.5
anisotropy InputFloat Anisotropy 0.0
rotation InputFloat Rotation 0.0
normal InputVector Normal None
tangent InputVector Tangent None
weight InputFloat Weight 0.0

Attributes

Name Description
distribution
i
inputs
name
node
o
outputs
tree
type

Inputs

Attribute Type Description
i.color ColorSocket Color
i.roughness FloatSocket Roughness
i.anisotropy FloatSocket Anisotropy
i.rotation FloatSocket Rotation
i.normal VectorSocket Normal
i.tangent VectorSocket Tangent
i.weight FloatSocket Weight

Outputs

Attribute Type Description
o.bsdf ShaderSocket BSDF

HairBSDF

HairBSDF(
    color=None,
    offset=0.0,
    roughnessu=0.1,
    roughnessv=1.0,
    tangent=None,
    weight=0.0,
    *,
    component='Reflection',
)

Reflection and transmission shaders optimized for hair rendering

Parameters

Name Type Description Default
color InputColor Color None
offset InputFloat Offset 0.0
roughnessu InputFloat RoughnessU 0.1
roughnessv InputFloat RoughnessV 1.0
tangent InputVector Tangent None
weight InputFloat Weight 0.0

Attributes

Name Description
component
i
inputs
name
node
o
outputs
tree
type

Inputs

Attribute Type Description
i.color ColorSocket Color
i.offset FloatSocket Offset
i.roughnessu FloatSocket RoughnessU
i.roughnessv FloatSocket RoughnessV
i.tangent VectorSocket Tangent
i.weight FloatSocket Weight

Outputs

Attribute Type Description
o.bsdf ShaderSocket BSDF

Holdout

Holdout(weight=0.0)
Create a "hole" in the image with zero alpha transparency, which is useful for compositing.

Note: the holdout shader can only create alpha when transparency is enabled in the film settings

Parameters

weight : InputFloat
    Weight

Inputs

i.weight : FloatSocket
    Weight

Outputs

o.holdout : ShaderSocket
    Holdout

Attributes

Name Description
i
inputs
name
node
o
outputs
tree
type

MetallicBSDF

MetallicBSDF(
    base_color=None,
    edge_tint=None,
    ior=None,
    extinction=None,
    roughness=0.5,
    anisotropy=0.0,
    rotation=0.0,
    normal=None,
    tangent=None,
    weight=0.0,
    thin_film_thickness=0.0,
    thin_film_ior=1.33,
    *,
    distribution='MULTI_GGX',
    fresnel_type='F82',
)

Metallic reflection with microfacet distribution, and metallic fresnel

Parameters

Name Type Description Default
base_color InputColor Base Color None
edge_tint InputColor Edge Tint None
ior InputVector IOR None
extinction InputVector Extinction None
roughness InputFloat Roughness 0.5
anisotropy InputFloat Anisotropy 0.0
rotation InputFloat Rotation 0.0
normal InputVector Normal None
tangent InputVector Tangent None
weight InputFloat Weight 0.0
thin_film_thickness InputFloat Thin Film Thickness 0.0
thin_film_ior InputFloat Thin Film IOR 1.33

Attributes

Name Description
distribution
fresnel_type
i
inputs
name
node
o
outputs
tree
type

Methods

Name Description
f82_tint Create Metallic BSDF with operation ‘F82 Tint’. An approximation of the Fresnel conductor curve based on the colors at perpendicular and near-grazing (roughly 82°) angles
physical_conductor Create Metallic BSDF with operation ‘Physical Conductor’. Fresnel conductor based on the complex refractive index per color channel
f82_tint
f82_tint(
    base_color=None,
    edge_tint=None,
    roughness=0.5,
    anisotropy=0.0,
    rotation=0.0,
    normal=None,
    tangent=None,
    thin_film_thickness=0.0,
    thin_film_ior=1.33,
)

Create Metallic BSDF with operation ‘F82 Tint’. An approximation of the Fresnel conductor curve based on the colors at perpendicular and near-grazing (roughly 82°) angles

physical_conductor
physical_conductor(
    ior=None,
    extinction=None,
    roughness=0.5,
    anisotropy=0.0,
    rotation=0.0,
    normal=None,
    tangent=None,
    thin_film_thickness=0.0,
    thin_film_ior=1.33,
)

Create Metallic BSDF with operation ‘Physical Conductor’. Fresnel conductor based on the complex refractive index per color channel

Inputs

Attribute Type Description
i.base_color ColorSocket Base Color
i.edge_tint ColorSocket Edge Tint
i.ior VectorSocket IOR
i.extinction VectorSocket Extinction
i.roughness FloatSocket Roughness
i.anisotropy FloatSocket Anisotropy
i.rotation FloatSocket Rotation
i.normal VectorSocket Normal
i.tangent VectorSocket Tangent
i.weight FloatSocket Weight
i.thin_film_thickness FloatSocket Thin Film Thickness
i.thin_film_ior FloatSocket Thin Film IOR

Outputs

Attribute Type Description
o.bsdf ShaderSocket BSDF

MixShader

MixShader(fac=0.5, shader=None, shader_001=None)

Mix two shaders together. Typically used for material layering

Parameters

Name Type Description Default
fac InputFloat Factor 0.5
shader InputShader Shader None
shader_001 InputShader Shader None

Attributes

Name Description
i
inputs
name
node
o
outputs
tree
type

Inputs

Attribute Type Description
i.fac FloatSocket Factor
i.shader ShaderSocket Shader
i.shader_001 ShaderSocket Shader

Outputs

Attribute Type Description
o.shader ShaderSocket Shader

PrincipledBSDF

PrincipledBSDF(
    base_color=None,
    metallic=0.0,
    roughness=0.5,
    ior=1.5,
    alpha=1.0,
    normal=None,
    weight=0.0,
    diffuse_roughness=0.0,
    subsurface_weight=0.0,
    subsurface_radius=None,
    subsurface_scale=0.05,
    subsurface_ior=1.4,
    subsurface_anisotropy=0.0,
    specular_ior_level=0.5,
    specular_tint=None,
    anisotropic=0.0,
    anisotropic_rotation=0.0,
    tangent=None,
    transmission_weight=0.0,
    coat_weight=0.0,
    coat_roughness=0.03,
    coat_ior=1.5,
    coat_tint=None,
    coat_normal=None,
    sheen_weight=0.0,
    sheen_roughness=0.5,
    sheen_tint=None,
    emission_color=None,
    emission_strength=0.0,
    thin_film_thickness=0.0,
    thin_film_ior=1.33,
    *,
    distribution='MULTI_GGX',
    subsurface_method='RANDOM_WALK',
)

Physically-based, easy-to-use shader for rendering surface materials, based on the OpenPBR model

Parameters

Name Type Description Default
base_color InputColor Base Color None
metallic InputFloat Metallic 0.0
roughness InputFloat Roughness 0.5
ior InputFloat IOR 1.5
alpha InputFloat Alpha 1.0
normal InputVector Normal None
weight InputFloat Weight 0.0
diffuse_roughness InputFloat Diffuse Roughness 0.0
subsurface_weight InputFloat Subsurface Weight 0.0
subsurface_radius InputVector Subsurface Radius None
subsurface_scale InputFloat Subsurface Scale 0.05
subsurface_ior InputFloat Subsurface IOR 1.4
subsurface_anisotropy InputFloat Subsurface Anisotropy 0.0
specular_ior_level InputFloat Specular IOR Level 0.5
specular_tint InputColor Specular Tint None
anisotropic InputFloat Anisotropic 0.0
anisotropic_rotation InputFloat Anisotropic Rotation 0.0
tangent InputVector Tangent None
transmission_weight InputFloat Transmission Weight 0.0
coat_weight InputFloat Coat Weight 0.0
coat_roughness InputFloat Coat Roughness 0.03
coat_ior InputFloat Coat IOR 1.5
coat_tint InputColor Coat Tint None
coat_normal InputVector Coat Normal None
sheen_weight InputFloat Sheen Weight 0.0
sheen_roughness InputFloat Sheen Roughness 0.5
sheen_tint InputColor Sheen Tint None
emission_color InputColor Emission Color None
emission_strength InputFloat Emission Strength 0.0
thin_film_thickness InputFloat Thin Film Thickness 0.0
thin_film_ior InputFloat Thin Film IOR 1.33

Attributes

Name Description
distribution
i
inputs
name
node
o
outputs
subsurface_method
tree
type

Inputs

Attribute Type Description
i.base_color ColorSocket Base Color
i.metallic FloatSocket Metallic
i.roughness FloatSocket Roughness
i.ior FloatSocket IOR
i.alpha FloatSocket Alpha
i.normal VectorSocket Normal
i.weight FloatSocket Weight
i.diffuse_roughness FloatSocket Diffuse Roughness
i.subsurface_weight FloatSocket Subsurface Weight
i.subsurface_radius VectorSocket Subsurface Radius
i.subsurface_scale FloatSocket Subsurface Scale
i.subsurface_ior FloatSocket Subsurface IOR
i.subsurface_anisotropy FloatSocket Subsurface Anisotropy
i.specular_ior_level FloatSocket Specular IOR Level
i.specular_tint ColorSocket Specular Tint
i.anisotropic FloatSocket Anisotropic
i.anisotropic_rotation FloatSocket Anisotropic Rotation
i.tangent VectorSocket Tangent
i.transmission_weight FloatSocket Transmission Weight
i.coat_weight FloatSocket Coat Weight
i.coat_roughness FloatSocket Coat Roughness
i.coat_ior FloatSocket Coat IOR
i.coat_tint ColorSocket Coat Tint
i.coat_normal VectorSocket Coat Normal
i.sheen_weight FloatSocket Sheen Weight
i.sheen_roughness FloatSocket Sheen Roughness
i.sheen_tint ColorSocket Sheen Tint
i.emission_color ColorSocket Emission Color
i.emission_strength FloatSocket Emission Strength
i.thin_film_thickness FloatSocket Thin Film Thickness
i.thin_film_ior FloatSocket Thin Film IOR

Outputs

Attribute Type Description
o.bsdf ShaderSocket BSDF

PrincipledHairBSDF

PrincipledHairBSDF(
    color=None,
    melanin=0.8,
    melanin_redness=1.0,
    tint=None,
    absorption_coefficient=None,
    aspect_ratio=0.85,
    roughness=0.3,
    radial_roughness=0.3,
    coat=0.0,
    ior=1.55,
    offset=0.0349,
    random_color=0.0,
    random_roughness=0.0,
    random=0.0,
    weight=0.0,
    r_lobe=1.0,
    tt_lobe=1.0,
    trt_lobe=1.0,
    *,
    model='CHIANG',
    parametrization='COLOR',
)

Physically-based, easy-to-use shader for rendering hair and fur

Parameters

Name Type Description Default
color InputColor Color None
melanin InputFloat Melanin 0.8
melanin_redness InputFloat Melanin Redness 1.0
tint InputColor Tint None
absorption_coefficient InputVector Absorption Coefficient None
aspect_ratio InputFloat Aspect Ratio 0.85
roughness InputFloat Roughness 0.3
radial_roughness InputFloat Radial Roughness 0.3
coat InputFloat Coat 0.0
ior InputFloat IOR 1.55
offset InputFloat Offset 0.0349
random_color InputFloat Random Color 0.0
random_roughness InputFloat Random Roughness 0.0
random InputFloat Random 0.0
weight InputFloat Weight 0.0
r_lobe InputFloat Reflection 1.0
tt_lobe InputFloat Transmission 1.0
trt_lobe InputFloat Secondary Reflection 1.0

Attributes

Name Description
i
inputs
model
name
node
o
outputs
parametrization
tree
type

Inputs

Attribute Type Description
i.color ColorSocket Color
i.melanin FloatSocket Melanin
i.melanin_redness FloatSocket Melanin Redness
i.tint ColorSocket Tint
i.absorption_coefficient VectorSocket Absorption Coefficient
i.aspect_ratio FloatSocket Aspect Ratio
i.roughness FloatSocket Roughness
i.radial_roughness FloatSocket Radial Roughness
i.coat FloatSocket Coat
i.ior FloatSocket IOR
i.offset FloatSocket Offset
i.random_color FloatSocket Random Color
i.random_roughness FloatSocket Random Roughness
i.random FloatSocket Random
i.weight FloatSocket Weight
i.r_lobe FloatSocket Reflection
i.tt_lobe FloatSocket Transmission
i.trt_lobe FloatSocket Secondary Reflection

Outputs

Attribute Type Description
o.bsdf ShaderSocket BSDF

RayPortalBSDF

RayPortalBSDF(color=None, position=None, direction=None, weight=0.0)

Continue tracing from an arbitrary new position and in a new direction

Parameters

Name Type Description Default
color InputColor Color None
position InputVector Position None
direction InputVector Direction None
weight InputFloat Weight 0.0

Attributes

Name Description
i
inputs
name
node
o
outputs
tree
type

Inputs

Attribute Type Description
i.color ColorSocket Color
i.position VectorSocket Position
i.direction VectorSocket Direction
i.weight FloatSocket Weight

Outputs

Attribute Type Description
o.bsdf ShaderSocket BSDF

RefractionBSDF

RefractionBSDF(
    color=None,
    roughness=0.0,
    ior=1.45,
    normal=None,
    weight=0.0,
    *,
    distribution='BECKMANN',
)

Glossy refraction with sharp or microfacet distribution, typically used for materials that transmit light

Parameters

Name Type Description Default
color InputColor Color None
roughness InputFloat Roughness 0.0
ior InputFloat IOR 1.45
normal InputVector Normal None
weight InputFloat Weight 0.0

Attributes

Name Description
distribution
i
inputs
name
node
o
outputs
tree
type

Inputs

Attribute Type Description
i.color ColorSocket Color
i.roughness FloatSocket Roughness
i.ior FloatSocket IOR
i.normal VectorSocket Normal
i.weight FloatSocket Weight

Outputs

Attribute Type Description
o.bsdf ShaderSocket BSDF

SheenBSDF

SheenBSDF(
    color=None,
    roughness=0.5,
    normal=None,
    weight=0.0,
    *,
    distribution='MICROFIBER',
)
Reflection for materials such as cloth.

Typically mixed with other shaders (such as a Diffuse Shader) and is not particularly useful on its own

Parameters

color : InputColor
    Color
roughness : InputFloat
    Roughness
normal : InputVector
    Normal
weight : InputFloat
    Weight

Inputs

i.color : ColorSocket
    Color
i.roughness : FloatSocket
    Roughness
i.normal : VectorSocket
    Normal
i.weight : FloatSocket
    Weight

Outputs

o.bsdf : ShaderSocket
    BSDF

Attributes

Name Description
distribution
i
inputs
name
node
o
outputs
tree
type

SpecularBSDF

SpecularBSDF(
    base_color=None,
    specular=None,
    roughness=0.2,
    emissive_color=None,
    transparency=0.0,
    normal=None,
    clear_coat=0.0,
    clear_coat_roughness=0.0,
    clear_coat_normal=None,
    weight=0.0,
)

Similar to the Principled BSDF node but uses the specular workflow instead of metallic, which functions by specifying the facing (along normal) reflection color. Energy is not conserved, so the result may not be physically accurate

Parameters

Name Type Description Default
base_color InputColor Base Color None
specular InputColor Specular None
roughness InputFloat Roughness 0.2
emissive_color InputColor Emissive Color None
transparency InputFloat Transparency 0.0
normal InputVector Normal None
clear_coat InputFloat Clear Coat 0.0
clear_coat_roughness InputFloat Clear Coat Roughness 0.0
clear_coat_normal InputVector Clear Coat Normal None
weight InputFloat Weight 0.0

Attributes

Name Description
i
inputs
name
node
o
outputs
tree
type

Inputs

Attribute Type Description
i.base_color ColorSocket Base Color
i.specular ColorSocket Specular
i.roughness FloatSocket Roughness
i.emissive_color ColorSocket Emissive Color
i.transparency FloatSocket Transparency
i.normal VectorSocket Normal
i.clear_coat FloatSocket Clear Coat
i.clear_coat_roughness FloatSocket Clear Coat Roughness
i.clear_coat_normal VectorSocket Clear Coat Normal
i.weight FloatSocket Weight

Outputs

Attribute Type Description
o.bsdf ShaderSocket BSDF

SubsurfaceScattering

SubsurfaceScattering(
    color=None,
    scale=0.05,
    radius=None,
    ior=1.4,
    roughness=1.0,
    anisotropy=0.0,
    normal=None,
    weight=0.0,
    *,
    falloff='RANDOM_WALK',
)
Subsurface multiple scattering shader to simulate light entering the surface and bouncing internally.

Typically used for materials such as skin, wax, marble or milk

Parameters

color : InputColor
    Color
scale : InputFloat
    Scale
radius : InputVector
    Radius
ior : InputFloat
    IOR
roughness : InputFloat
    Roughness
anisotropy : InputFloat
    Anisotropy
normal : InputVector
    Normal
weight : InputFloat
    Weight

Inputs

i.color : ColorSocket
    Color
i.scale : FloatSocket
    Scale
i.radius : VectorSocket
    Radius
i.ior : FloatSocket
    IOR
i.roughness : FloatSocket
    Roughness
i.anisotropy : FloatSocket
    Anisotropy
i.normal : VectorSocket
    Normal
i.weight : FloatSocket
    Weight

Outputs

o.bssrdf : ShaderSocket
    BSSRDF

Attributes

Name Description
falloff
i
inputs
name
node
o
outputs
tree
type

ToonBSDF

ToonBSDF(
    color=None,
    size=0.5,
    smooth=0.0,
    normal=None,
    weight=0.0,
    *,
    component='DIFFUSE',
)

Diffuse and Glossy shaders with cartoon light effects

Parameters

Name Type Description Default
color InputColor Color None
size InputFloat Size 0.5
smooth InputFloat Smooth 0.0
normal InputVector Normal None
weight InputFloat Weight 0.0

Attributes

Name Description
component
i
inputs
name
node
o
outputs
tree
type

Inputs

Attribute Type Description
i.color ColorSocket Color
i.size FloatSocket Size
i.smooth FloatSocket Smooth
i.normal VectorSocket Normal
i.weight FloatSocket Weight

Outputs

Attribute Type Description
o.bsdf ShaderSocket BSDF

TranslucentBSDF

TranslucentBSDF(color=None, normal=None, weight=0.0)

Lambertian diffuse transmission

Parameters

Name Type Description Default
color InputColor Color None
normal InputVector Normal None
weight InputFloat Weight 0.0

Attributes

Name Description
i
inputs
name
node
o
outputs
tree
type

Inputs

Attribute Type Description
i.color ColorSocket Color
i.normal VectorSocket Normal
i.weight FloatSocket Weight

Outputs

Attribute Type Description
o.bsdf ShaderSocket BSDF

TransparentBSDF

TransparentBSDF(color=None, weight=0.0)

Transparency without refraction, passing straight through the surface as if there were no geometry

Parameters

Name Type Description Default
color InputColor Color None
weight InputFloat Weight 0.0

Attributes

Name Description
i
inputs
name
node
o
outputs
tree
type

Inputs

Attribute Type Description
i.color ColorSocket Color
i.weight FloatSocket Weight

Outputs

Attribute Type Description
o.bsdf ShaderSocket BSDF