MaterialPhysicalShadowCatcher#
(Shadow Catcher)
- Category:
/Material/Physical
- Default object name:
shadow_catcher
- Inherits from: ProjectItem > Material > MaterialPhysical
Description#
A shadow and indirect illumination catcher material
Public Attributes#
Type | Name | Visual Hint | Description |
---|---|---|---|
double[3] |
emission_color |
VISUAL_HINT_COLOR |
Emission color. |
reference (MaterialPhysical ) |
underlying_material |
VISUAL_HINT_DEFAULT |
Material used to catch illumination and shadows. |
long |
opacity_mode |
VISUAL_HINT_DEFAULT |
Set opacity behavior for primary and transmission rays. |
bool |
catch_illumination |
VISUAL_HINT_DEFAULT |
Set whether the shadow catcher also catches indirect illumination or not. |
bool |
ignore_normal |
VISUAL_HINT_DEFAULT |
Remove illumination and shadowing artifacts caused by uneven surfaces. |
Inherited Public Attributes#
Type | Name | Visual Hint | Description |
---|---|---|---|
bool |
export_aovs |
VISUAL_HINT_DEFAULT |
Compute and write Aovs defined in the shading graph |
reference (AovStore ) |
arbitrary_output_variables |
VISUAL_HINT_DEFAULT |
Set the list of extra channels to write to the image. |
string |
light_path_expression_label |
VISUAL_HINT_DEFAULT |
Set the material label in light path expressions. |
long |
material_sample_count |
VISUAL_HINT_SAMPLE_PER_PIXEL |
Material sample count per pixel. |
double |
diffuse_sampling_multiplier |
VISUAL_HINT_SCALE |
Material diffuse sample count multiplier. |
double |
glossy_reflection_sampling_multiplier |
VISUAL_HINT_SCALE |
Material glossy reflection sample count multiplier. |
double |
glossy_transmission_sampling_multiplier |
VISUAL_HINT_SCALE |
Material glossy transmission sample count multiplier. |
double |
subsurface_sampling_multiplier |
VISUAL_HINT_SCALE |
Material subsurface sample count multiplier. |
double |
volume_sampling_multiplier |
VISUAL_HINT_SCALE |
Material volume sample count multiplier. |
double |
russian_roulette |
VISUAL_HINT_PERCENTAGE |
Amount of Russian roulette used on the material samples. |
double |
roughness_noise_optimization |
VISUAL_HINT_PERCENTAGE |
Noise reduction strategy along rough light path. |
long |
diffuse_depth |
VISUAL_HINT_DEFAULT |
Maximum diffuse depth. |
long |
specular_reflection_depth |
VISUAL_HINT_DEFAULT |
Maximum specular reflection depth. |
long |
glossy_reflection_depth |
VISUAL_HINT_DEFAULT |
Maximum glossy reflection depth. |
long |
specular_transmission_depth |
VISUAL_HINT_DEFAULT |
Maximum specular transmission depth. |
long |
glossy_transmission_depth |
VISUAL_HINT_DEFAULT |
Maximum glossy transmission depth. |
long |
volume_depth |
VISUAL_HINT_DEFAULT |
Maximum volume depth. |
long |
normal_mode |
VISUAL_HINT_DEFAULT |
Define which geometric normal to use for the shading. |
double |
normal_input |
VISUAL_HINT_PERCENTAGE |
Override the shading normal by the one given as input. The value controls the blending with the original normal. |
long |
sidedness |
VISUAL_HINT_DEFAULT |
Sidedness of this surface used for this material. 'Single' keeps the original normals no matter what. 'Double' may flip the normal to be oriented toward the incomming direction. 'Invert' flips the original normal no matter what. |
long |
reflective_caustics |
VISUAL_HINT_DEFAULT |
Reflective caustics computation mode. |
long |
refractive_caustics |
VISUAL_HINT_DEFAULT |
Refractive caustics computation mode. |
CID#
class "MaterialPhysicalShadowCatcher" "MaterialPhysical" {
#version 0.93
icon "material_shadowcatcher.iconrc"
doc "A shadow and indirect illumination catcher material"
attribute_group "shadow_catcher" {
color "emission_color" {
doc "Emission color."
texturable yes
shading_variable yes
value 1 1 1
}
reference "underlying_material" {
doc "Material used to catch illumination and shadows."
filter "MaterialPhysical"
null_label "Use Lambertian Model"
value ""
}
long "opacity_mode" {
doc "Set opacity behavior for primary and transmission rays."
preset "Black hole" "0"
preset "Transparent" "1"
preset "Solid" "2"
value 0
}
bool "catch_illumination" {
doc "Set whether the shadow catcher also catches indirect illumination or not."
value no
}
bool "ignore_normal" {
doc "Remove illumination and shadowing artifacts caused by uneven surfaces."
value no
}
}
set "multiple_scattering_strength" {
private no
hidden yes
saveable yes
texturable no
animatable no
slider no
numeric_range yes 0.0 1
ui_range yes 0.0 1
dg_active yes
dg_cyclic no
dirtiness_pass_through no
read_only no
shading_variable no
experimental no
advanced no
overriden no
promote_attribute no
allow_expression yes
localizable yes
value 1
}
set "diffuse_depth" {
null_label "Use Renderer Settings"
null_value "-1"
private no
hidden no
saveable yes
texturable no
animatable no
slider no
numeric_range yes 0.0 65536
ui_range yes 0.0 16
dg_active yes
dg_cyclic no
dirtiness_pass_through no
read_only yes
shading_variable no
experimental no
advanced no
overriden no
promote_attribute no
allow_expression yes
localizable yes
value -1
}
set "specular_reflection_depth" {
null_label "Use Renderer Settings"
null_value "-1"
private no
hidden no
saveable yes
texturable no
animatable no
slider no
numeric_range yes 0.0 65536
ui_range yes 0.0 16
dg_active yes
dg_cyclic no
dirtiness_pass_through no
read_only yes
shading_variable no
experimental no
advanced no
overriden no
promote_attribute no
allow_expression yes
localizable yes
value -1
}
set "glossy_reflection_depth" {
null_label "Use Renderer Settings"
null_value "-1"
private no
hidden no
saveable yes
texturable no
animatable no
slider no
numeric_range yes 0.0 65536
ui_range yes 0.0 16
dg_active yes
dg_cyclic no
dirtiness_pass_through no
read_only yes
shading_variable no
experimental no
advanced no
overriden no
promote_attribute no
allow_expression yes
localizable yes
value -1
}
set "specular_transmission_depth" {
null_label "Use Renderer Settings"
null_value "-1"
private no
hidden no
saveable yes
texturable no
animatable no
slider no
numeric_range yes 0.0 65536
ui_range yes 0.0 16
dg_active yes
dg_cyclic no
dirtiness_pass_through no
read_only yes
shading_variable no
experimental no
advanced no
overriden no
promote_attribute no
allow_expression yes
localizable yes
value -1
}
set "glossy_transmission_depth" {
null_label "Use Renderer Settings"
null_value "-1"
private no
hidden no
saveable yes
texturable no
animatable no
slider no
numeric_range yes 0.0 65536
ui_range yes 0.0 16
dg_active yes
dg_cyclic no
dirtiness_pass_through no
read_only yes
shading_variable no
experimental no
advanced no
overriden no
promote_attribute no
allow_expression yes
localizable yes
value -1
}
set "volume_depth" {
null_label "Use Renderer Settings"
null_value "-1"
private no
hidden no
saveable yes
texturable no
animatable no
slider no
numeric_range yes 0.0 65536
ui_range yes 0.0 16
dg_active yes
dg_cyclic no
dirtiness_pass_through no
read_only yes
shading_variable no
experimental no
advanced no
overriden no
promote_attribute no
allow_expression yes
localizable yes
value -1
}
set "opacity" {
private no
hidden yes
saveable yes
texturable yes
animatable yes
slider no
numeric_range yes 0.0 1
ui_range yes 0.0 1
dg_active yes
dg_cyclic no
dirtiness_pass_through no
read_only no
shading_variable yes
experimental no
advanced no
overriden no
promote_attribute no
allow_expression yes
localizable yes
value 1 1 1
}
set "normal_mode" {
private no
hidden no
saveable yes
texturable no
animatable no
slider no
numeric_range no 0.0 1
ui_range no 0.0 1
dg_active yes
dg_cyclic no
dirtiness_pass_through no
read_only yes
shading_variable no
experimental no
advanced no
overriden no
promote_attribute no
allow_expression yes
localizable yes
preset "Flat" "0"
preset "Smooth" "1"
value 1
}
set "normal_input" {
private no
hidden no
saveable yes
texturable yes
animatable yes
slider no
numeric_range yes 0.0 1
ui_range yes 0.0 1
dg_active yes
dg_cyclic no
dirtiness_pass_through no
read_only yes
shading_variable no
experimental no
advanced no
overriden no
promote_attribute no
allow_expression yes
localizable yes
value 1
}
set "shadow_casting_mode" {
private no
hidden yes
saveable yes
texturable no
animatable no
slider no
numeric_range no 0.0 1
ui_range no 0.0 1
dg_active yes
dg_cyclic no
dirtiness_pass_through no
read_only no
shading_variable no
experimental no
advanced no
overriden no
promote_attribute no
allow_expression yes
localizable yes
preset "Opaque" "0"
preset "Artistic" "1"
preset "Physical" "3"
value 3
}
set "shadow_opacity" {
private no
hidden yes
saveable yes
texturable yes
animatable yes
slider yes
numeric_range yes 0.0 1
ui_range yes 0.0 1
dg_active yes
dg_cyclic no
dirtiness_pass_through no
read_only yes
shading_variable no
experimental no
advanced no
overriden no
promote_attribute no
allow_expression yes
localizable yes
value 1
}
set "shadow_coloring" {
private no
hidden yes
saveable yes
texturable yes
animatable yes
slider yes
numeric_range yes 0.0 1
ui_range yes 0.0 1
dg_active yes
dg_cyclic no
dirtiness_pass_through no
read_only yes
shading_variable no
experimental no
advanced no
overriden no
promote_attribute no
allow_expression yes
localizable yes
value 0.5
}
set "reflective_caustics" {
private no
hidden no
saveable yes
texturable no
animatable no
slider no
numeric_range no 0.0 1
ui_range no 0.0 1
dg_active yes
dg_cyclic no
dirtiness_pass_through no
read_only yes
shading_variable no
experimental no
advanced no
overriden no
promote_attribute no
allow_expression yes
localizable yes
preset "Off" "0"
preset "Glossy only" "1"
preset "Specular only" "2"
preset "Full" "3"
value 0
}
set "refractive_caustics" {
private no
hidden no
saveable yes
texturable no
animatable no
slider no
numeric_range no 0.0 1
ui_range no 0.0 1
dg_active yes
dg_cyclic no
dirtiness_pass_through no
read_only yes
shading_variable no
experimental no
advanced no
overriden no
promote_attribute no
allow_expression yes
localizable yes
preset "Off" "0"
preset "Glossy only" "1"
preset "Specular only" "2"
preset "Full" "3"
value 0
}
}