Skip to content

MaterialPhysicalVolume

MaterialPhysicalVolume#

(Volume)

Go to User page.

Description#

A volume physical material

Public Attributes#

Type Name Visual Hint Description
long optical_mode VISUAL_HINT_DEFAULT Select whether the optical properties of the volume are defined using the absorption-scattering, scattering-attenuation, or attenuation-albedo pair of parameters. Note that in the scattering-attenuation mode (Legacy mode - provided for compatibility purposes), the volume no longer obeys the physical law of energy conservation (i.e., the particles will scatter more light than they receive) whenever the value of the scattering parameter is greater than the value of the attenuation parameter (hence yielding a negative absorption and an albedo greater than one).
double[3] absorption VISUAL_HINT_RGB Set the relative absorption cross section of the volumetric particles.
double[3] scattering VISUAL_HINT_RGB Set the relative scattering cross section of the volumetric particles.
double[3] attenuation VISUAL_HINT_RGB Set the relative attenuation (absorption + scattering) cross section of the volumetric particles.
double[3] albedo VISUAL_HINT_RGB Set the reflectivity of the attenuating particles.
double[3] emission VISUAL_HINT_RGB Set the quantity of light emitted by particles. This adds a constant color on the whole volume and doesn't affect the transmission of light.
double density_multiplier VISUAL_HINT_SCALE Multiply the density of the geometry by this value.
double forward_scattering VISUAL_HINT_PERCENTAGE Control the intensity of the forward scattering. Use a negative value to obtain backward scattering and a null value to scatter the light in all directions with the same intensity.
double sampling_optimization VISUAL_HINT_PERCENTAGE Allow to divide samples among overlapping volumes.

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 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 volume_depth VISUAL_HINT_DEFAULT Maximum volume depth.

CID#

class "MaterialPhysicalVolume" "MaterialPhysical" {
    #version 0.93
    icon "material_volume.iconrc"
    doc "A volume physical material"
    attribute_group "volume" {
        bool "energy_conservation" {
            doc "Disable energy conservation to revert the volume illumination as it was computed before the bug fixes introduced in version 4.0. Enable energy conservation to make other volume properties editable. This is a transitory attribute solely provided for backward compatibility, and it will be deprecated and its value forced to \"on\" in the next major release version."
            hidden yes
            value yes
        }
        long "optical_mode" {
            doc "Select whether the optical properties of the volume are defined using the absorption-scattering, scattering-attenuation, or attenuation-albedo pair of parameters. Note that in the scattering-attenuation mode (Legacy mode - provided for compatibility purposes), the volume no longer obeys the physical law of energy conservation (i.e., the particles will scatter more light than they receive) whenever the value of the scattering parameter is greater than the value of the attenuation parameter (hence yielding a negative absorption and an albedo greater than one)."
            preset "Physicist" "0"
            preset "Legacy" "1"
            preset "Artistic" "2"
            value 2
        }
        rgb "absorption" {
            doc "Set the relative absorption cross section of the volumetric particles."
            texturable yes
            animatable yes
            read_only yes
            value 0.22 0.22 0.22
        }
        rgb "scattering" {
            doc "Set the relative scattering cross section of the volumetric particles."
            texturable yes
            animatable yes
            read_only yes
            value 0.78 0.78 0.78
        }
        rgb "attenuation" {
            doc "Set the relative attenuation (absorption + scattering) cross section of the volumetric particles."
            texturable yes
            animatable yes
            value 1 1 1
        }
        rgb "albedo" {
            doc "Set the reflectivity of the attenuating particles."
            texturable yes
            animatable yes
            value 0.78 0.78 0.78
        }
        rgb "emission" {
            doc "Set the quantity of light emitted by particles. This adds a constant color on the whole volume and doesn\'t affect the transmission of light."
            texturable yes
            animatable yes
            value 0.0 0.0 0.0
        }
        scale "density_multiplier" {
            doc "Multiply the density of the geometry by this value."
            texturable yes
            animatable yes
            slider yes
            numeric_range yes 0.0 1000000
            ui_range yes 0.0 10
            value 1
        }
        percentage "forward_scattering" {
            doc "Control the intensity of the forward scattering. Use a negative value to obtain backward scattering and a null value to scatter the light in all directions with the same intensity."
            texturable yes
            animatable yes
            slider yes
            numeric_range yes -1 1
            ui_range yes -1 1
            value 0.0
        }
    }
    attribute_group "material_sampling" {
        percentage "sampling_optimization" {
            doc "Allow to divide samples among overlapping volumes."
            slider yes
            numeric_range yes 0.0 1
            ui_range yes 0.0 1
            value 1
        }
    }
    set "diffuse_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_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 "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 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_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 "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 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 "Flat" "0"
        preset "Smooth" "1"
        value 1
    }
    set "normal_input" {
        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 no
        experimental no
        advanced no
        overriden no
        promote_attribute no
        allow_expression yes
        localizable yes
        value 1
    }
    set "sidedness" {
        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 "Single" "0"
        preset "Double" "1"
        preset "Invert" "2"
        value 0
    }
    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 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
    }
}