MaterialPhysicalIridescent#
(Iridescent)
- Category:
/Material/Physical
- Default object name:
iridescent
- Inherits from: ProjectItem > Material > MaterialPhysical
Description#
Iridescent material
Public Attributes#
Type | Name | Visual Hint | Description |
---|---|---|---|
long |
diffuse_brdf |
VISUAL_HINT_DEFAULT |
BRDF used for the diffuse reflection. The Lambertian model is augmented with a Fresnel term to approximate rough diffuse reflection. The Oren-Nayar BRDF better models back-scattering effects that characterize rough diffuse reflection, accounting for both single and double bounces of light onto the micro-geometry of the surface. |
double[3] |
diffuse_color |
VISUAL_HINT_COLOR |
Define the diffuse color. |
double |
diffuse_gain |
VISUAL_HINT_PERCENTAGE |
Diffuse gain of the diffuse color. |
double |
diffuse_roughness |
VISUAL_HINT_PERCENTAGE |
Roughness of the diffuse surface. For Fresnel Lambertian, values smaller than 50% slightly darken grazing angles, and values greater than 50% give the silhouettes a subtle glow (albeit potentially violating energy conservation), whereas a midrange value approaches (but differs from) the pure Lambertian model. For Oren-Nayar, a zero value yields the pure Lambertian model, whereas greater values increase backward scattering phenomena. |
long |
brdf |
VISUAL_HINT_DEFAULT |
BRDF used for the reflection. |
double[3] |
reflection_color |
VISUAL_HINT_COLOR |
Define the reflection color. |
double |
reflection_gain |
VISUAL_HINT_PERCENTAGE |
Reflection gain of the reflection color. |
double[3] |
reflection_exit_color |
VISUAL_HINT_COLOR |
Set the reflection color when there is no more bounce along the path. |
double |
fresnel_ior |
VISUAL_HINT_DEFAULT |
Set the index of refraction. |
double |
reflection_roughness |
VISUAL_HINT_PERCENTAGE |
Roughness of the reflection surface. |
double |
iridescent_exposure |
VISUAL_HINT_DEFAULT |
Iridiscent exposure. |
double |
iridescent_power |
VISUAL_HINT_DEFAULT |
Exponent for the iridescence, corresponds to the interference power which is proportional to the number of thin layers constituting the material. |
double |
iridescent_film_thickness |
VISUAL_HINT_DEFAULT |
Thickness of the film layers (expressed in nanometers), through which light is refracting. |
double |
iridescent_air_thickness |
VISUAL_HINT_DEFAULT |
Thickness of the air layers (expressed in nanometers), in other words spacing between the film layers. |
bool |
iridescent_diffuse |
VISUAL_HINT_DEFAULT |
Enables/disables iridescent absorption on the diffuse component. |
bool |
iridescent_reflection |
VISUAL_HINT_DEFAULT |
Enables/disables iridescent absorption on the specular component. |
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 |
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. |
double |
multiple_scattering_strength |
VISUAL_HINT_PERCENTAGE |
Strength of compensation for energy lost by multiple scattering. |
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. |
double[3] |
opacity |
VISUAL_HINT_COLOR |
Opacity of the material. |
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 |
shadow_casting_mode |
VISUAL_HINT_DEFAULT |
Defines the properties of the material when casting shadows: fully opaque (regardless of the actual value of the opacity of the material), artistic (user-defined opacity and coloring), pseudo-caustics (cheaply emulating actual refractive caustics) or physical (intrinsic transparency of the material), where the last three are modulated by the opacity of the material. |
double |
shadow_opacity |
VISUAL_HINT_PERCENTAGE |
Defines how dark the shadows cast by this material are. |
double |
shadow_coloring |
VISUAL_HINT_PERCENTAGE |
Defines how much refraction and absorption colors affect shadowing. |
long |
reflective_caustics |
VISUAL_HINT_DEFAULT |
Reflective caustics computation mode. |
CID#
class "MaterialPhysicalIridescent" "MaterialPhysical" {
#version 0.94
icon "material_iridescent.iconrc"
doc "Iridescent material"
attribute_group "diffuse" {
long "diffuse_brdf" {
doc "BRDF used for the diffuse reflection. The Lambertian model is augmented with a Fresnel term to approximate rough diffuse reflection. The Oren-Nayar BRDF better models back-scattering effects that characterize rough diffuse reflection, accounting for both single and double bounces of light onto the micro-geometry of the surface."
preset "Lambertian" "0"
preset "Oren-Nayar" "1"
value 0
}
color "diffuse_color" {
doc "Define the diffuse color."
texturable yes
animatable yes
value 0.78 0.78 0.78
}
percentage "diffuse_gain" {
doc "Diffuse gain of the diffuse color."
texturable yes
animatable yes
slider yes
numeric_range yes 0.0 10
ui_range yes 0.0 1
value 1
}
percentage "diffuse_roughness" {
doc "Roughness of the diffuse surface. For Fresnel Lambertian, values smaller than 50% slightly darken grazing angles, and values greater than 50% give the silhouettes a subtle glow (albeit potentially violating energy conservation), whereas a midrange value approaches (but differs from) the pure Lambertian model. For Oren-Nayar, a zero value yields the pure Lambertian model, whereas greater values increase backward scattering phenomena."
texturable yes
animatable yes
slider yes
numeric_range yes 0.0 1
ui_range yes 0.0 1
value 0.0
}
}
attribute_group "reflection" {
long "brdf" {
doc "BRDF used for the reflection."
preset "GGX" "0"
preset "Ward" "1"
preset "Beckmann" "2"
value 0
}
color "reflection_color" {
doc "Define the reflection color."
texturable yes
animatable yes
value 0.78 0.78 0.78
}
percentage "reflection_gain" {
doc "Reflection gain of the reflection color."
texturable yes
animatable yes
slider yes
numeric_range yes 0.0 10
ui_range yes 0.0 1
value 1
}
color "reflection_exit_color" {
doc "Set the reflection color when there is no more bounce along the path."
texturable yes
animatable yes
value 0.0 0.0 0.0
}
double "fresnel_ior" {
doc "Set the index of refraction."
texturable yes
animatable yes
slider yes
numeric_range yes 1e-06 1000000000
ui_range yes 0.001 5
value 1.5
}
percentage "reflection_roughness" {
doc "Roughness of the reflection surface."
texturable yes
animatable yes
slider yes
numeric_range yes 0.0 1
ui_range yes 0.0 1
value 0.0
}
}
attribute_group "iridescence" {
doc "Settings of the iridescence model, defaults correspond to a morpho butterfly."
double "iridescent_exposure" {
doc "Iridiscent exposure."
texturable yes
animatable yes
slider yes
numeric_range yes -20 20
ui_range yes 0.0 5
value 3
}
double "iridescent_power" {
doc "Exponent for the iridescence, corresponds to the interference power which is proportional to the number of thin layers constituting the material."
texturable yes
animatable yes
slider yes
numeric_range yes 0.0 20
ui_range yes 0.0 10
value 6
}
double "iridescent_film_thickness" {
doc "Thickness of the film layers (expressed in nanometers), through which light is refracting."
texturable yes
animatable yes
slider yes
numeric_range yes 0.0 1000
ui_range yes 0.0 200
value 90
}
double "iridescent_air_thickness" {
doc "Thickness of the air layers (expressed in nanometers), in other words spacing between the film layers."
texturable yes
animatable yes
slider yes
numeric_range yes 0.0 1000
ui_range yes 0.0 200
value 90
}
bool "iridescent_diffuse" {
doc "Enables/disables iridescent absorption on the diffuse component."
value no
}
bool "iridescent_reflection" {
doc "Enables/disables iridescent absorption on the specular component."
value yes
}
}
attribute_group "transparent_shadows" {
collapsed yes
}
set "glossy_transmission_sampling_multiplier" {
null_label "Use Renderer Settings"
null_value "-1.0"
private no
hidden yes
saveable yes
texturable no
animatable no
slider no
numeric_range yes 0.0 1000
ui_range yes 0.0 10
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
}
set "subsurface_sampling_multiplier" {
null_label "Use Renderer Settings"
null_value "-1.0"
private no
hidden yes
saveable yes
texturable no
animatable no
slider no
numeric_range yes 0.0 1000
ui_range yes 0.0 10
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
}
set "volume_sampling_multiplier" {
null_label "Use Renderer Settings"
null_value "-1.0"
private no
hidden yes
saveable yes
texturable no
animatable no
slider no
numeric_range yes 0.0 1000
ui_range yes 0.0 10
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
}
set "specular_transmission_depth" {
null_label "Use Renderer Settings"
null_value "-1"
private no
hidden yes
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 no
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 yes
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 no
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 yes
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 no
shading_variable no
experimental no
advanced no
overriden no
promote_attribute no
allow_expression yes
localizable yes
value -1
}
set "refractive_caustics" {
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 "Off" "0"
preset "Glossy only" "1"
preset "Specular only" "2"
preset "Full" "3"
value 0
}
}