DwaRefractiveMaterial

Overview


DwaRefractiveMaterial

The DwaRefractiveMaterial is the material for all transparent materials such as water, glass, and gemstones. It is best to use physical values for the refractive_index eg. 1.33 for water and 1.52 for glass. Larger values can be used for gemstones; up to 2.42 for diamond. Note that there is no diffuse component, but a diffuse lobe can be layered over the DwaRefractiveMaterial via the DwaLayerMaterial to achieve looks such as dirt or paint on top of glass.


Attribute Reference

Advanced attributes

specular

Float bindable
default: 1.0

enables/disables specular reflections (binary 0|1 for plausibility)

specular: 0 | 1

Clearcoat attributes

clearcoat

Float bindable
default: 1.0

enables/disables clearcoat (binary 0|1 for plausibility)

clearcoat_attenuation_color

Rgb bindable
default: [ 0.5, 0.5, 0.5 ]

the attenuation color of the clearcoat when 'cleacoat thickness' > 0

clearcoat attenuation color: Rgb(0, 0, 0) - Rgb(1, 1, 1)

clearcoat_bending

Bool
default: True

(advanced, recommended ON) bends rays based on the clearcoat-refractive-index before evaluating the lobes under clearcoat

clearcoat_model

Int enum
  0 = “Beckmann”
  1 = “GGX” (default)

sets the normal distribution function for clearcoat. GGX is currently isotropic only

clearcoat_normal_dial

Float bindable
default: 1.0

controls the amount of infuence of the alternate clearcoat normal

clearcoat normal dial: 0 - 1

clearcoat_refractive_index

Float
default: 1.5

defines the Fresnel behavior

clearcoat refractive index: 1 - 2.3

clearcoat_roughness

Float bindable
default: 0.1

the roughness of the clearcoat lobe

clearcoat roughness: 0 - 1

clearcoat_thickness

Float bindable
default: 0.0

the thickness of the virtual clearcoat layer. Values > 0 enable absorption

clearcoat thickness: 0 - 1

independent_clearcoat_normal

NormalMap
default: None

specifies an independent shading normal (normal map) for the clearcoat lobe

show_clearcoat

Bool
default: False

enables/disables clearcoat

use_independent_clearcoat_normal

Bool
default: False

specifies whether the clearcoat lobe should use an independent normal

Common attributes

casts_caustics

Bool
default: False

allows continuation of caustic light paths.

casts caustics: true | false

presence

Float bindable
default: 1.0

controls the visibility of this object. Useful for fading an object in/out, or to specify a cut-out mask on thin single-sided geometry (eg. a complex leaf texture on a simple card).

presence: 0 - 1

thin_geometry

Bool
default: False

enables proper shading of infinitely thin geometry such as paper or leaves.

Emission attributes

emission

Rgb bindable
default: [ 1, 1, 1 ]

the energy emitted from this material

emission: Rgb(0, 0, 0) - Rgb(4.76, 0.02, 0.02)

show_emission

Bool
default: False

enables/disable emission

Fuzz attributes

fuzz

Float bindable
default: 1.0

fuzz mask

fuzz: 0 - 1

fuzz_albedo

Rgb bindable
default: [ 1, 1, 1 ]

Color of the fuzz highlights.

fuzz_normal

NormalMap
default: None

specifies an independent shading normal (normal map) for the fuzz lobe

fuzz_normal_dial

Float bindable
default: 1.0

controls the amount of infuence of the alternate fuzz normal

fuzz_roughness

Float bindable
default: 0.25

Lower values result in glancing angle highlights while higher values result in a broad, uniform coverage

show_fuzz

Bool
default: False

Enables/disables fuzz lobe

use_absorbing_fuzz_fibers

Bool
default: False

Specify whether dark fuzz fibers absorb energy or transmit it to the layers below.

Iridescence attributes

iridescence

Float bindable
default: 0.0

controls the strength of the iridescence effect

iridescence: 0 - 1

iridescence_apply_to

Int enum
  0 = “primary specular” (default)
  1 = “clearcoat/moisture specular”

Apply iridescence to primary specular lobe or clearcoat/moisture lobe

iridescence_at_0_incidence

Float bindable
default: 1.0

Iridescence effect at 0 degree viewing angle

iridescence at 0 incidence: 0 - 1

iridescence_at_90_incidence

Float bindable
default: 1.0

Iridescence effect at 90 degree viewing angle

iridescence_color_control

Int enum
  0 = “use hue interpolation” (default)
  1 = “use ramp”

use hue interpolation: automatically cycles through hue wheel, use ramp: user specified color ramp

iridescence_colors

RgbVector
default: [[ 1, 0, 0 ], [ 1, 1, 0 ], [ 0, 1, 0 ], [ 0, 1, 1 ], [ 0, 0, 1 ], [ 1, 0, 1 ], [ 1, 0, 0 ]]

List of colors on the ramp

iridescence_exponent

Float bindable
default: 1.0

Tightens or broadens the distribution of colors

iridescence exponent: 0 - 2.5

iridescence_flip_hue_direction

Bool
default: False

flip interpolation around the hue wheel to counter-clockwise direction

iridescence flip hue direction: true | false

iridescence_interpolations

IntVector
default: {}

None: 0 | Linear: 1 | Exponential Up: 2 | Exponential Down: 3 |
   Smooth: 4 | Catmull Rom: 5 | Monotone Cubic: 6

iridescence_positions

FloatVector
default: {}

ramp positions

iridescence_primary_color

Rgb bindable
default: [ 1, 0, 0 ]

First color to interpolate from around the hue wheel

iridescence primary color: Rgb(orange, yellow, green, blue, purple, red)

iridescence_ramp_interpolation_mode

Int enum
  0 = “RGB” (default)
  1 = “HSV”

RGB: lerp in RGB space which matches UI preview but can lose saturation, HSV: lerp in HSV space which preserves saturation

iridescence_secondary_color

Rgb bindable
default: [ 1, 0, 0 ]

Second color to interpolate to around the hue wheel

iridescence secondary color: Rgb(orange, yellow, green, blue, purple, red)

iridescence_thickness

Float bindable
default: 1.0

Controls how much the color spectrum is repeated

iridescence thickness: 0 - 5

Normal attributes

input_normal

NormalMap
default: None

specifies an alternate shading normal in the tangent frame (normal map)

input_normal_dial

Float bindable
default: 1.0

controls the amount of influence of the alternate normal

input normal dial: 0 - 1

Normal Anti-aliasing attributes

normal_AA_dial

Float
default: 1.0

Controls the amount roughness compensation from the normal map AA strategy.

normal_AA_strategy

Int enum
  0 = “none” (default)
  1 = “toksvig”

Normal map anti-aliasing strategy to use - 'none' uses regular mip-mapping, 'toksvig' increases specular roughness corresponding to the geometric details filtered out because of mip-mapping.

Specular attributes

anisotropy

Float bindable
default: 0.0

controls the shape of the primary reflection

anisotropy: -1 - 1

refractive_index

Float
default: 1.5

defines the Fresnel behavior, (affects reflection and refraction)

refractive index: 1.4 - 2.3

roughness

Float bindable
default: 0.5

the roughness of the surface (currently only affects reflection)

roughness: 0 - 1

shading_tangent

Vec2f bindable
default: [ 1, 0 ]

controls the orientation of anistropy

shading tangent: Vec2(1,0) - Vec2(0,1) - Vec2(-1,0) - Vec2(0,1)

show_specular

Bool
default: True

enables/disables specular reflections

specular_model

Int enum
  0 = “Beckmann”
  1 = “GGX” (default)

sets the normal distribution function for specular. GGX is currently isotropic only

Transmission attributes

dispersion_abbe_number

Float
default: 34.0

The amount of dispersion/chromatic-aberration via refractions. Lower this number to increase the effect. A value of 0 turns off dispersion. Around [25-80] makes sense for realistic glass. Lower values may look better on gemstones.

independent_transmission_refractive_index

Float
default: 1.5

defines a separate IOR for the bending of light with transmission

independent_transmission_roughness

Float bindable
default: 0.5

separate roughness for transmission

show_transmission

Bool
default: True

enables/disables refractive solid model

transmission_color

Rgb bindable
default: [ 1, 1, 1 ]

the desired color of transmitted light

transmission color: Rgb(1, 1, 1) - Rgb(0.5, 0.04, 0.04)

use_dispersion

Bool
default: False

use dispersion effects in transmission

use_independent_transmission_refractive_index

Bool
default: False

use a separate IOR for transmission

use_independent_transmission_roughness

Bool
default: False

use a separate roughness for transmission

General attributes

extra_aovs

Map
default: None

Bind this attribute to a 'ListMap' that contains references to ExtraAovMaps that specify additional outputs that can be assigned to a RenderOutput "light aov" result

invisible_refractive_cryptomatte

Bool
default: False

Indicates whether material should/should not appear in the refractive cryptomatte layers

label

String
default:

label used in material and light aovs

priority

Int
default: 0

The material's place in an order of precedence for overlapping dielectrics. A value of 0 means the priority should be ignored. Materials with lower numbers (higher priority) "override" materials with higher numbers (lower priority). To enable automatic removal of self-overlapping geometry, a non-zero priority must be set on the geometry's material.