SoPathTracerMaterial¶
- InventorModule¶
author
package
dll
definition
Purpose¶
The SoPathTracerMaterial module provides the material properties for the geometry and volumes of a SoPathTracer scene. It is typically used either within the input scene of, for example, SoPathTracerMesh or as direct input for modules that have an “inMaterial” input.
The material parameters are intentionally mapped to the range of 0-1 to simplify the specification of meaningful parameters for the user. This mapping also enables the parameters to be specified in LUTs.
Details¶
The acronym BRDF stands for Bidirectional Reflectance Distribution Function and describes the reflection of light on an opaque surface.
Windows¶
Default Panel¶
Input Fields¶
inDiffuseTexture¶
- name: inDiffuseTexture, type: Image¶
Parameter Fields¶
Field Index¶
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Visible Fields¶
Meshes visible¶
- name: visible, type: Bool, default: TRUE¶
If checked, the meshes that use this material are visible.
This can be used to show/hide meshes in the scene of a
SoPathTracerMeshwithout complete scene re-computation.
Material¶
- name: material, type: Enum, default: Material_Microfacet¶
Defines 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 here |
Alpha Mode¶
- name: alphaMode, type: Enum, default: Multiply¶
Defines 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¶
Defines 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¶
Sets the specular parameter of the microfacet model (0 for matte/rough material, 1 for very specular/glossy material).
Shininess¶
- name: shininess, type: Float, default: 0.5, minimum: 0, maximum: 1¶
Sets the shininess, mapped to the Blinn exponent of microfacet BRDF.
Specular Intensity¶
- name: specularIntensity, type: Float, default: 0.2, minimum: 0, maximum: 1¶
Sets the intensity of the specular contribution.
Horizon Scattering¶
- name: horizonScattering, type: Float, default: 0.5, minimum: 0, maximum: 1¶
Sets the velvet material property Horizon Scattering.
Back Scattering¶
- name: backScattering, type: Float, default: 0.5, minimum: 0, maximum: 1¶
Sets the velvet material property Back Scattering.
Horizon Color¶
- name: horizonColor, type: Color, default: 1 1 1¶
Sets the velvet horizon color.
Metallic¶
- name: metallic, type: Float, default: 0, minimum: 0, maximum: 1¶
Roughness¶
- name: roughness, type: Float, default: 0.5, minimum: 0, maximum: 1¶
Specular Tint¶
- name: specularTint, type: Float, default: 0, minimum: 0, maximum: 1¶
Sheen Tint¶
- name: sheenTint, type: Float, default: 0, minimum: 0, maximum: 1¶
Sheen¶
- name: sheen, type: Float, default: 0, minimum: 0, maximum: 1¶
Clearcoat Gloss¶
- name: clearcoatGloss, type: Float, default: 0, minimum: 0, maximum: 1¶
Clearcoat¶
- name: clearcoat, type: Float, default: 0, minimum: 0, maximum: 1¶
Subsurface¶
- name: subsurface, type: Float, default: 0, minimum: 0, maximum: 1¶
Alpha¶
- name: alpha, type: Float, default: 1, minimum: 0, maximum: 1¶
Sets the alpha value of the geometry (not used for volumes).
Diffuse¶
- name: diffuse, type: Color, default: 1 1 1¶
Sets the diffuse color.
Depending on the
Diffuse Mode, it overwrites or it combined with the geometry diffuse color.
Emissive¶
- name: emissive, type: Color, default: 0 0 0¶
Sets the emissive color.
Enable Volume Shader¶
- name: enableVolumeShader, type: Bool, default: FALSE¶
If checked, the overwriting of the volume shader settings if the material is used on a volume is enabled.
Shader Type¶
- name: volumeShaderType, type: Enum, default: Shader_Hybrid¶
Defines 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 |
Phase Function¶
- name: volumePhaseFunction, type: Enum, default: Phase_Isotropic¶
Defines 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 |
Gradient Factor¶
- name: volumeGradientFactor, type: Float, default: 3, minimum: 0, maximum: 200¶
Sets the gradient factor.
Phase Function Param¶
- name: volumePhaseFunctionParam, type: Float, default: 0¶
Sets an extra parameter for volume phase functions.
Silhouette¶
- name: silhouette, type: Bool, default: FALSE¶
If checked, the silhouette effect is enabled.
This changes the transparency of a surface depending on the angle between the view/ray direction and the normal of the surface; this way, faces whose normals are parallel to the view direction become transparent, while faces that are perpendicular to the ray become fully opaque.
The formula for this alpha factor is:
alpha = pow(dot(normal, rayDirection), exponent) * weight + offset
The 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¶
If checked, the boundary enhancement is 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
Boundary Exponent¶
- name: boundaryExponent, type: Float, default: 2¶
Boundary Weight¶
- name: boundaryWeight, type: Float, default: 1¶
Boundary Bias¶
- name: boundaryBias, type: Float, default: 0¶