MaterialPhysicalReflection#
(Reflection)
- Category:
/Material/Physical
- Default object name:
reflection
- Inherits from: ProjectItem > Material > MaterialPhysical
Description#
A specular physical material
Public Attributes#
Type | Name | Visual Hint | Description |
---|---|---|---|
double[3] |
color |
VISUAL_HINT_COLOR |
Reflection color of the specular lobe. |
double |
gain |
VISUAL_HINT_PERCENTAGE |
Reflection gain of the specular lobe. |
double[3] |
exit_color |
VISUAL_HINT_COLOR |
Set the reflection color when there is no more bounce along the path. |
double |
roughness |
VISUAL_HINT_PERCENTAGE |
Roughness of the specular lobe. |
long |
brdf |
VISUAL_HINT_DEFAULT |
BRDF used for the specular lobe. |
double |
anisotropy |
VISUAL_HINT_PERCENTAGE |
Anisotropy of the specular lobe. |
long |
anisotropy_mode |
VISUAL_HINT_DEFAULT |
Controls how the anisotropy behaves. Stretch increases the roughness along Y axis, whereas Squash reduces the roughness along Y axis. |
long |
anisotropy_space |
VISUAL_HINT_DEFAULT |
Space in which the specular lobe anisotropy direction is expressed. Tangent UV space uses a frame defined by the UV mapping of the textures connected to the specular attributes. Tangent parametric uses, as the name suggests, the parametric frame. Finally, Object space uses the current object frame. |
double[3] |
anisotropy_direction |
VISUAL_HINT_DEFAULT |
Initial direction of specular lobe anisotropy (before a potential rotation) expressed in the space selected above. |
double |
anisotropy_rotation |
VISUAL_HINT_PERCENTAGE |
Rotates the anisotropy direction of the specular lobe around the normal (100% equates to 180 degrees). |
bool |
use_fresnel |
VISUAL_HINT_DEFAULT |
Enable or disable Fresnel |
long |
fresnel_preset |
VISUAL_HINT_DEFAULT |
Set of measured Fresnel presets for well-known materials. |
double[3] |
fresnel_incident_tint |
VISUAL_HINT_COLOR |
Reflectance color at normal incidence (aka F0). |
double[3] |
fresnel_edge_tint |
VISUAL_HINT_COLOR |
Color bias as the viewing direction becomes parallel to the surface. |
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 |
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 |
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 "MaterialPhysicalReflection" "MaterialPhysical" {
#version 0.93
icon "material_reflection.iconrc"
doc "A specular physical material"
attribute_group "specular" {
color "color" {
doc "Reflection color of the specular lobe."
texturable yes
animatable yes
value 0.78 0.78 0.78
}
percentage "gain" {
doc "Reflection gain of the specular lobe."
texturable yes
animatable yes
slider yes
numeric_range yes 0.0 10
ui_range yes 0.0 1
value 1
}
color "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
}
percentage "roughness" {
doc "Roughness of the specular lobe."
texturable yes
animatable yes
slider yes
numeric_range yes 0.0 1
ui_range yes 0.0 1
value 0.0
}
long "brdf" {
doc "BRDF used for the specular lobe."
preset "GGX" "0"
preset "Ward" "1"
preset "Beckmann" "2"
value 0
}
}
attribute_group "specular>anisotropy" {
collapsed yes
percentage "anisotropy" {
doc "Anisotropy of the specular lobe."
texturable yes
animatable yes
slider yes
numeric_range yes 0.0 1
ui_range yes 0.0 1
value 0.0
}
long "anisotropy_mode" {
doc "Controls how the anisotropy behaves. Stretch increases the roughness along Y axis, whereas Squash reduces the roughness along Y axis."
preset "Stretch" "0"
preset "Squash" "1"
value 0
}
long "anisotropy_space" {
doc "Space in which the specular lobe anisotropy direction is expressed. Tangent UV space uses a frame defined by the UV mapping of the textures connected to the specular attributes. Tangent parametric uses, as the name suggests, the parametric frame. Finally, Object space uses the current object frame."
read_only yes
preset "Tangent UV" "0"
preset "Tangent parametric" "1"
preset "Object" "2"
value 0
}
double[3] "anisotropy_direction" {
doc "Initial direction of specular lobe anisotropy (before a potential rotation) expressed in the space selected above."
texturable yes
animatable yes
slider yes
numeric_range yes -1 1
ui_range yes -1 1
read_only yes
value 1 0.0 0.0
}
percentage "anisotropy_rotation" {
doc "Rotates the anisotropy direction of the specular lobe around the normal (100% equates to 180 degrees)."
texturable yes
animatable yes
slider yes
ui_range yes 0.0 1
read_only yes
value 0.0
}
}
attribute_group "specular>fresnel" {
collapsed yes
bool "use_fresnel" {
doc "Enable or disable Fresnel"
value no
}
long "fresnel_preset" {
doc "Set of measured Fresnel presets for well-known materials."
read_only yes
preset "Custom" "-1"
preset "Polyurethane" "0"
preset "Water" "1"
preset "Aluminium" "2"
preset "Chromium" "3"
preset "Copper" "4"
preset "Gold" "5"
preset "Silver" "6"
preset "Titanium" "7"
value -1
}
color "fresnel_incident_tint" {
doc "Reflectance color at normal incidence (aka F0)."
texturable yes
animatable yes
read_only yes
value 0.04 0.04 0.04
}
color "fresnel_edge_tint" {
doc "Color bias as the viewing direction becomes parallel to the surface."
texturable yes
animatable yes
read_only yes
value 0.0 0.0 0.0
}
}
attribute_group "transparent_shadows" {
collapsed yes
}
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_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 "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_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
}
}