Skip to content

MaterialPhysicalIridescent

MaterialPhysicalIridescent#

(Iridescent)

Go to User page.

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
    }
}