Skip to content

MaterialPhysicalDiffuse

MaterialPhysicalDiffuse#

(Diffuse)

Go to User page.

Description#

Diffuse material.

Public Attributes#

Type Name Visual Hint Description
long energy_mode VISUAL_HINT_DEFAULT Define whether the front and back contributions are plainly added together, or whether their gains are normalized to guarantee energy conservation.
long mode 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, either in its classical most basic form or in its more accurate improved form, both solely accounting for a single bounce of light onto the micro-geometry of the surface, or in its full formulation, which additionally accounts for double bounces of light onto the micro-geometry of the surface.
double[3] front_color VISUAL_HINT_COLOR Define the diffuse color.
double front_gain VISUAL_HINT_PERCENTAGE Gain of the diffuse color
double roughness VISUAL_HINT_PERCENTAGE Roughness of the 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.
double[3] back_color VISUAL_HINT_COLOR Amount of light transmitted by the translucent surface.
double back_gain VISUAL_HINT_PERCENTAGE Gain of the back color.

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

CID#

class "MaterialPhysicalDiffuse" "MaterialPhysical" {
    #version 0.93
    icon "material_diffuse.iconrc"
    doc "Diffuse material."
    attribute_group "energy conservation" {
        long "energy_mode" {
            doc "Define whether the front and back contributions are plainly added together, or whether their gains are normalized to guarantee energy conservation."
            preset "Additive" "0"
            preset "Conservative" "1"
            value 0
        }
    }
    attribute_group "diffuse" {
        long "mode" {
            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, either in its classical most basic form or in its more accurate improved form, both solely accounting for a single bounce of light onto the micro-geometry of the surface, or in its full formulation, which additionally accounts for double bounces of light onto the micro-geometry of the surface."
            preset "Fresnel Lambertian" "0"
            preset "Oren-Nayar Basic" "1"
            preset "Oren-Nayar Improved" "2"
            preset "Oren-Nayar Full" "3"
            value 3
        }
        color "front_color" {
            doc "Define the diffuse color."
            texturable yes
            animatable yes
            value 0.78 0.78 0.78
        }
        percentage "front_gain" {
            doc "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 "roughness" {
            doc "Roughness of the 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 100
            ui_range yes 0.0 1
            value 0.0
        }
        color "back_color" {
            doc "Amount of light transmitted by the translucent surface."
            texturable yes
            animatable yes
            value 0.0 0.0 0.0
        }
        percentage "back_gain" {
            doc "Gain of the back color."
            texturable yes
            animatable yes
            slider yes
            numeric_range yes 0.0 10
            ui_range yes 0.0 1
            read_only yes
            value 1
        }
    }
    attribute_group "transparent_shadows" {
        collapsed yes
    }
    set "glossy_reflection_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 "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_reflection_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_reflection_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 "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 "reflective_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
    }
    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
    }
}