DwaTwoSidedMaterial

Overview


The DwaTwoSidedMaterial allows you to assign two different materials to the front and back of “thin” geometry, such as a playing card.

local front = DwaRefractiveMaterial("front") {
    ["albedo"] = Rgb(0.6, 0.0, 0.0),
    ["roughness"] = 0.1,
    ["specular_model"] = 0,
}

local back = DwaSolidDielectricMaterial("back") {
    ["albedo"] = Rgb(0.0, 0.0, 0.6),
    ["roughness"] = 0.3,
    ["specular_model"] = 0,
}

local mtl = DwaTwoSidedMaterial("mtl") {
    ["front_material"] = front,
    ["back_material"] = back,
}

Attribute Reference

Advanced attributes

fallback_bssrdf

Int enum
  0 = “normalized diffusion” (default)
  1 = “dipole”
  2 = “random walk”

If the two materials disagree on the type of bssrdf, this type will be used instead.

fallback_clearcoat_use_bending

Bool
default: True

If child materials disagree on the type of clearcoat use bending, this type will be used instead.

fallback_outer_specular_model

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

If child materials disagree on the type of outer specular model, this type will be used instead.

fallback_prevent_light_culling

Bool
default: False

If child materials disagree on prevent light culling, this will be used instead.

fallback_specular_model

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

If child materials disagree on the type of specular model, this type will be used instead.

sss_trace_set

TraceSet
default: None

By default, only the geometry associated with this material contributes to subsurface. The DwaTwoSidedMaterial ignores the sss trace sets of the submaterials. If you want adjacent geometry with different material to contribute as well, specify all those parts here.

General attributes

back_material

DwaBaseLayerable
default: None

material to use on back-facing surfaces

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

front_material

DwaBaseLayerable
default: None

material to use on front-facing surfaces

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.

record_reflected_cryptomatte

Bool
default: False

Indicates whether the next reflected surface should appear in the reflected cryptomatte layers

record_refracted_cryptomatte

Bool
default: False

Indicates whether the next refracted surface should appear in the refracted cryptomatte layers