SoPathTracerMaterial¶
-
InventorModule
¶ author MeVis Medical Solutions AG
package MeVisLab/Standard
dll SoPathTracer
definition SoPathTracer.def
Purpose¶
The SoPathTracerMaterial
module provides the material properties for geometry and volumes of a SoPathTracer
scene.
It is typically either used inside the input scene of e.g. SoPathTracerMesh
or as direct input of modules that have a “inMaterial” input.
The material parameters are intentionally mapped to the range 0-1 to make it easier for the user to specify meaningful parameters. It also allows to specify the parameters in LUTs.
Parameter Fields¶
Field Index¶
Alpha : Float |
Enable Volume Shader : Bool |
Sheen : Float |
Alpha Mode : Enum |
Exponent : Float |
Sheen Tint : Float |
Back Scattering : Float |
Gradient Factor : Float |
Shininess : Float |
Boundary Bias : Float |
Horizon Color : Color |
Silhouette : Bool |
Boundary Enhancement : Bool |
Horizon Scattering : Float |
Specular : Float |
Boundary Exponent : Float |
Material : Enum |
Specular Intensity : Float |
Boundary Weight : Float |
Metallic : Float |
Specular Tint : Float |
Clearcoat : Float |
Offset : Float |
sRGB : Bool |
Clearcoat Gloss : Float |
Phase Function : Enum |
Subsurface : Float |
Diffuse : Color |
Phase Function Param : Float |
Visible : Bool |
Diffuse Mode : Enum |
Roughness : Float |
Weight : Float |
Emissive : Color |
Shader Type : Enum |
Visible Fields¶
Visible¶
-
name:
visible
, type:
Bool
, default:
TRUE
¶ If enabled, the meshes that use this material are visible. This can be used to show/hide meshes in the scene of a
SoPathTracerMesh
without complete scene re-computation.
Material¶
-
name:
material
, type:
Enum
, default:
Material_Microfacet
¶ The type of the material.
Values:
Title | Name | Description |
---|---|---|
Matte | Material_Matte | A matte material with lambertian diffuse shading (without any fresnel effects) |
Velvet | Material_Velvet | A material the mimicks velvet/cloth (experimental). |
Microfacet | Material_Microfacet | A material that offers a microfacet BRDF with lambertian diffuse and blinn/fresnel specular. |
Principled | Material_Principled | The multi-purpose material that offers various parameters. See https://disney-animation.s3.amazonaws.com/library/s2012_pbs_disney_brdf_notes_v2.pdf for details. |
Alpha Mode¶
-
name:
alphaMode
, type:
Enum
, default:
Multiply
¶ The alpha combination mode (only applied for meshes).
Values:
Title | Name |
---|---|
Overwrite | Overwrite |
Multiply | Multiply |
Ignore | Ignore |
Diffuse Mode¶
-
name:
diffuseMode
, type:
Enum
, default:
Multiply
¶ The diffuse combination mode.
Values:
Title | Name |
---|---|
Overwrite | Overwrite |
Multiply | Multiply |
Ignore | Ignore |
Specular¶
-
name:
specular
, type:
Float
, default:
0.5
, minimum:
0
, maximum:
1
¶ The specular parameter of the microfacet model (0 - matte/rough material, 1 - very specular/glossy material).
Shininess¶
-
name:
shininess
, type:
Float
, default:
0.5
, minimum:
0
, maximum:
1
¶ The shininess (mapped to Blinn exponent of microfacet BRDF).
Specular Intensity¶
-
name:
specularIntensity
, type:
Float
, default:
0.2
, minimum:
0
, maximum:
1
¶ The intensity of the specular contribution.
Horizon Scattering¶
-
name:
horizonScattering
, type:
Float
, default:
0.5
, minimum:
0
, maximum:
1
¶ Velvet material property.
Back Scattering¶
-
name:
backScattering
, type:
Float
, default:
0.5
, minimum:
0
, maximum:
1
¶ Velvet material property.
Alpha¶
-
name:
alpha
, type:
Float
, default:
1
, minimum:
0
, maximum:
1
¶ The alpha value of the geometry (not used for volumes).
Diffuse¶
-
name:
diffuse
, type:
Color
, default:
1 1 1
¶ The diffuse color. Depending on the
Diffuse Mode
it overwrites or it combined with the geometry diffuse color.
Enable Volume Shader¶
-
name:
enableVolumeShader
, type:
Bool
, default:
FALSE
¶ Enabled overwriting of the volume shader settings if the material is used on a volume.
Shader Type¶
-
name:
volumeShaderType
, type:
Enum
, default:
Shader_Hybrid
¶ Selects the volume shader type.
Values:
Title | Name | Description |
---|---|---|
Phase | Shader_Phase | Uses the phase function for shading the volume (the gradients of the volume are not used for rendering) |
Brdf | Shader_Brdf | Uses the material BRDF for shading, the gradients of the volume are used. |
Hybrid | Shader_Hybrid | Selects between Phase and BRDF shading depending on the gradient magnitude. The gradient magnitude is scaled by Gradient Factor . |
Phase Function¶
-
name:
volumePhaseFunction
, type:
Enum
, default:
Phase_Isotropic
¶ Selects the phase function to use.
Values:
Title | Name | Description |
---|---|---|
Isotropic | Phase_Isotropic | Use the isotropic phase function (all directions on the unit sphere have the same probability) |
Henyey Greenstein | Phase_HenyeyGreenstein | Use the Henyey-Greenstein phase function. The Phase Function Param specifies the “g” parameter of the phase function, with meaningful values between 0.5 and -0.5. |
Gradient Factor¶
-
name:
volumeGradientFactor
, type:
Float
, default:
3
, minimum:
0
, maximum:
200
¶ The gradient factor.
Phase Function Param¶
-
name:
volumePhaseFunctionParam
, type:
Float
, default:
0
¶ Extra parameter for volume phase functions.
Silhouette¶
-
name:
silhouette
, type:
Bool
, default:
FALSE
¶ This enables the silhouette effect, which changes the transparency of a surface depending on the angle between the view/ray direction and the normal of the surface, so that faces whose normals are parallel to the view direction get transparent, while faces that are perpendicular to the ray get fully opaque.
The formula for this alpha factor is:
alpha = pow(dot(normal, rayDirection), exponent) * weight + offsetThe silhouette effect is currently supported by
SoPathTracerIsoSurface
,SoPathTracerMesh
andSoPathTracerVolume
.
Exponent¶
-
name:
silhouetteExponent
, type:
Float
, default:
4
¶ see
Silhouette
Weight¶
-
name:
silhouetteWeight
, type:
Float
, default:
1.5
¶ see
Silhouette
Offset¶
-
name:
silhouetteOffset
, type:
Float
, default:
0
¶ see
Silhouette
Boundary Enhancement¶
-
name:
boundaryEnhancement
, type:
Bool
, default:
FALSE
¶ The boundary enhancement can be applied to a volume shader to modulate the opacity of the dataset based on the gradient strength. It calculates the following alpha, which is multiplied with the voxel’s alpha:
alphaFactor = pow(gradientStrength + bias, exponent) * weight