Class SurfacePBRMaterialModel

Material model used for physically based rendering of surfaces through principled BRDF.

Hierarchy (view full)

Constructors

Accessors

  • get ambientOcclusion(): Texture
  • Determines the ambient occlusion value.

    Returns Texture

  • set ambientOcclusion(value): void
  • Determines the ambient occlusion value.

    Parameters

    Returns void

  • get coatingIOR(): number
  • The IOR (index of refraction) defines the refractive behavior of the material. The coating IOR is used to calculate the reflection intensity of the surface taking into account the viewing angle and material refraction index, as per Fresnel�s theory. The input Type for this parameter is normally a value from 1 to 3. The default IOR value is 1.5, which is the same as the glass refraction index.

    Returns number

  • set coatingIOR(value): void
  • Parameters

    • value: number

    Returns void

  • get coatingNormalTexture(): Texture
  • The coating normal defines what normal map will be used by the coating layer of the material. The normal coating can be used to simulate scratches, paint scuffs and irregularities on the top coating layer or achieve a convincing worn-out effect.

    Returns Texture

  • set coatingNormalTexture(value): void
  • The coating normal defines what normal map will be used by the coating layer of the material. The normal coating can be used to simulate scratches, paint scuffs and irregularities on the top coating layer or achieve a convincing worn-out effect.

    Parameters

    Returns void

  • get coatingNormalTextureHandle(): ResourceHandle<Texture>
  • The coating normal defines what normal map will be used by the coating layer of the material. The normal coating can be used to simulate scratches, paint scuffs and irregularities on the top coating layer or achieve a convincing worn-out effect.

    Returns ResourceHandle<Texture>

  • set coatingNormalTextureHandle(value): void
  • Parameters

    Returns void

  • get coatingRoughness(): number
  • The coating roughness defines the glossiness of the coating layer. Coating with zero roughness means a perfectly smooth surface with sharp and crisp specular reflections. Increasing the roughness values results in a more matte and rough appearance with dimmer and more blurry reflections. With high roughness values, the light is scattered in more directions, and the surface properties are closer to diffuse.

    Returns number

  • set coatingRoughness(value): void
  • Parameters

    • value: number

    Returns void

  • get coatingThickness(): number
  • The coating thickness defines how thick the coating layer is. This parameter is used in combination with the coating transmission color. The thicker the coating, the more saturated is the transmission color in the coating layer, and less light is allowed down to the layer underneath.

    The input type for this parameter is a numeric value. The soft range is from 0 to 10, but you can use a value greater than 10. The default thickness value of 0 disables the transmission color.

    Returns number

  • set coatingThickness(value): void
  • Parameters

    • value: number

    Returns void

  • get coatingTransmissionColor(): Immutable<SRGBColor>
  • The coating transmission color defines the color of the light that travels through the coating layer. The transmission color allows simulation of the tint of the coating, for example, a yellowish tint to varnish on furniture.

    Overlaid on top of another color, tinted coating changes the color of the base material. It absorbs certain colors and reflects others acting as a color filter. The resulting color is a mixture of the transmission color and the color of the layer underneath. A white transmission color does not change the color of the base material.

    Returns Immutable<SRGBColor>

  • set coatingTransmissionColor(value): void
  • Parameters

    Returns void

  • get coatingWeight(): number
  • The coating weight is a scaling factor that defines how coating parameters contribute to the overall appearance of the material. Smaller coating weight values produce less reflections on the material surface, while greater values amplify coating properties. In range [0, 1]. Set to 0 to disable coating.

    Returns number

  • set coatingWeight(value): void
  • Parameters

    • value: number

    Returns void

  • get coneStepHeightTensor(): number
  • Works specially well for maps with radical height changes. Works for the Relaxed cone step only.

    Returns number

  • set coneStepHeightTensor(value): void
  • Parameters

    • value: number

    Returns void

  • get displacementHeight(): number
  • The height amount factor the parallax is meant to be displaced.

    Returns number

  • set displacementHeight(value): void
  • Parameters

    • value: number

    Returns void

  • get displacementMinMax(): Immutable<Vector2>
  • The Displacement Min/Max parameters control the displacement scale, i. e. the distance by which the geometry should be displaced. These minimum and maximum values correspond to the black and white colors of the grayscale displacement map. The minimum value controls the displacement scale for the black color, while the maximum value controls it for the white color.

    The displacement distance is automatically adjusted to the scene measurement units. The input type for this parameter is a numeric value equal to or greater than 0. Note that the input cannot be a negative value, that is, displacement is done in the outward direction only (extrusion).

    Returns Immutable<Vector2>

  • set displacementMinMax(value): void
  • Parameters

    Returns void

  • get displacementQuality(): number
  • The quality of displacement, controls the number of steps of the searching ray.

    Returns number

  • set displacementQuality(value): void
  • Parameters

    • value: number

    Returns void

  • get displacementTexture(): Texture
  • Gray-scale map that controls displacement height over the material surface.

    Returns Texture

  • set displacementTexture(value): void
  • Gray-scale map that controls displacement height over the material surface.

    Parameters

    Returns void

  • get emissiveWeight(): number
  • Controls the strength of the emitted light. This will be multiplied with to yield the luminance. Set to zero to disable emission.

    Returns number

  • set emissiveWeight(value): void
  • Parameters

    • value: number

    Returns void

  • get foliageTranslucency(): number
  • The foliage translucency controls the amount of light being transmitted by a surface. A thick object would have a lower translucency than a thin, paper-like object.

    Returns number

    Rasterizer only.

  • set foliageTranslucency(value): void
  • Parameters

    • value: number

    Returns void

  • get foliageTransmissiveColor(): Immutable<SRGBColor>
  • The color of the transmissive light that passes through the surface. The base color of the surface is modulated by this color, to allow surfaces to add a tint or hue change to the foliage light transmission.

    Returns Immutable<SRGBColor>

  • set foliageTransmissiveColor(value): void
  • Parameters

    Returns void

  • get isNormalTextureObjectSpace(): boolean
  • Sets flag indicating that material normals are in object space.

    Returns boolean

  • set isNormalTextureObjectSpace(value): void
  • Parameters

    • value: boolean

    Returns void

  • get isOpacityMasked(): boolean
  • Sets a flag indicating that the material is rendered alpha masked.

    Returns boolean

  • set isOpacityMasked(value): void
  • Parameters

    • value: boolean

    Returns void

  • get normalTexture(): Texture
  • Provides surface normals to the underlying geometry. This simulates surface relief or fine details such as grooves, bumps or scratches, without actually changing the object's geometry.

    Returns Texture

  • set normalTexture(value): void
  • Provides surface normals to the underlying geometry. This simulates surface relief or fine details such as grooves, bumps or scratches, without actually changing the object's geometry.

    Parameters

    Returns void

  • get normalTextureHandle(): ResourceHandle<Texture>
  • Provides surface normals to the underlying geometry. This simulates surface relief or fine details such as grooves, bumps or scratches, without actually changing the object's geometry.

    Returns ResourceHandle<Texture>

  • set normalTextureHandle(value): void
  • Parameters

    Returns void

  • get reflectionAnisotropy(): number
  • Sets the level of anisotropy. A value of 0 is used for a fully isotropic reflection while values from -1 to 1 give a range of ellipses from wide to tall.

    Returns number

  • set reflectionAnisotropy(value): void
  • Parameters

    • value: number

    Returns void

  • get reflectionAnisotropyRotation(): rsx.Radian
  • Controls the orientation of the anisotropic specular highlight. This rotates the cone of reflection around UV. This rotation is represented in radians and must be in range [0, 1].

    Returns rsx.Radian

  • set reflectionAnisotropyRotation(value): void
  • Parameters

    Returns void

  • get refractionIOR(): number
  • The index of refraction(IOR) defines the degree to which the light ray traveling through the material will be bent or refracted. The IOR of the empty space(air or vacuum) is taken as 1, which means no refraction. At IOR of 1, the light ray passes straight through the scene. Increasing the material IOR makes the light ray bend on the boundary of the material, and results in distortion of objects at the material�s background. The input Type for this parameter is normally a value from 1 to 3. The default IOR is 1.5, which corresponds to glass. For IOR values of other materials, use online resources such as thisIOR List

    Returns number

  • set refractionIOR(value): void
  • Parameters

    • value: number

    Returns void

  • get refractionWeight(): number
  • The refraction weight is a scaling factor that defines how refraction parameters contribute to the overall appearance of the material. A lower refraction weight makes the material look darker allowing less light through. Greater values make the color look brighter and the material more transparent. This value is in range [0, 1]. Set to 0 to disable refraction.

    Returns number

  • set refractionWeight(value): void
  • Parameters

    • value: number

    Returns void

  • get roughness(): Immutable<FloatTextureProperty>
  • Higher roughness values add tiny irregularities and imperfections at the micro-surface level. In range [0, 1].

    For dieletric (non-metallic) materials greater roughness values make the material look more matte and help mimic surfaces like concrete, plaster or rust. Lower roughness values are suitable for smoother, satin-like surfaces.

    For metallic materials lower roughness results in sharper reflections. A value of 0 creates a perfectly sharp mirror reflection, while 1 results in reflections that are close to a diffuse reflection.

    Returns Immutable<FloatTextureProperty>

  • set roughness(value): void
  • Returns void

  • get sheenTint(): number
  • The sheen tint controls the saturation level of the sheen color. The renderer multiplies the sheen color by the tint value to determine how intense the color should be. Greater values of tint result in richer and more saturate tint colors.

    Returns number

  • set sheenTint(value): void
  • Parameters

    • value: number

    Returns void

  • get sheenWeight(): number
  • The sheen weight is a scaling factor that defines how sheen parameters contribute to the overall appearance of the material. The weight parameter determines how strong the sheen reflectance will be. The greatest intensity of the sheen is achieved with the highest weight values. In range [0, 1]. Set to 0 to disable sheen.

    Returns number

  • set sheenWeight(value): void
  • Parameters

    • value: number

    Returns void

  • get subsurfaceProfileId(): number
  • The subsurface radius parameter defines how far a color will scatter from a place that was hit by a light ray. The subsurface radius is the distance that the light of a certain color can travel in the material.The greater the value, the further the light is dispersed.

    Radius values can be set separately for the red, green and blue color channels.For example, in skin, the red color scatters deeper than blue and green, so its radius should be set to a greater value .Having the greatest radius value, red will be the predominating color in the perceived scattering color of the skin.

    Typical values(in mm) of the subsurface radius for some translucent materials for red / green / blue respectively range from 4.76 / 0.58 / 0.39 for ketchup and 3.67 / 1.37 / 0.68 for skin to 6.96 / 6.40 / 1.90 for apple and 18.42 / 10.44 / 3.50 for skimmed milk [Jensen et al., 2001].

    Returns number

    Rasterizer only.

  • set subsurfaceProfileId(value): void
  • Parameters

    • value: number

    Returns void

  • get subsurfaceScale(): number
  • The subsurface scale is the measure of the subsurface model scaled in centimeters(cm), i.e. a value of 100 would mean the object scale is measured cubically as 1 meter long for every axis.

    Returns number

    Rasterizer only.

  • set subsurfaceScale(value): void
  • Parameters

    • value: number

    Returns void

  • get subsurfaceScatteringRadius(): Immutable<Vector3>
  • The subsurface radius parameter defines how far a color will scatter from a place that was hit by a light ray. The subsurface radius is the distance that the light of a certain color can travel in the material.The greater the value, the further the light is dispersed.

    Radius values can be set separately for the red, green and blue color channels.For example, in skin, the red color scatters deeper than blue and green, so its radius should be set to a greater value .Having the greatest radius value, red will be the predominating color in the perceived scattering color of the skin.

    Typical values(in mm) of the subsurface radius for some translucent materials for red / green / blue respectively range from 4.76 / 0.58 / 0.39 for ketchup and 3.67 / 1.37 / 0.68 for skin to 6.96 / 6.40 / 1.90 for apple and 18.42 / 10.44 / 3.50 for skimmed milk [Jensen et al., 2001].

    Returns Immutable<Vector3>

    Rasterizer only.

  • set subsurfaceScatteringRadius(value): void
  • Parameters

    Returns void

  • get subsurfaceThickness(): number
  • The subsurface thickness is a measure that handles the amount of light that can traverse a surface from its lighten back face to the occluded front face.

    Returns number

    Rasterizer only.

  • set subsurfaceThickness(value): void
  • Parameters

    • value: number

    Returns void

  • get subsurfaceTranslucency(): number
  • The subsurface translucency is a measure that handles the amount of light being transmitted by a surface.

    Returns number

    Rasterizer only.

  • set subsurfaceTranslucency(value): void
  • Parameters

    • value: number

    Returns void

  • get subsurfaceTranslucencyThickness(): Texture
  • A texture type that represents both subsurfaceTranslucency and subsurfaceThickness.

    Returns Texture

  • set subsurfaceTranslucencyThickness(value): void
  • A texture type that represents both subsurfaceTranslucency and subsurfaceThickness.

    Parameters

    Returns void

  • get subsurfaceWeight(): number
  • The subsurface weight is the multiplier of the SSS effect, i.e.the scaling factor which defines how the SSS contributes to the overall appearance of the material.Greater weight values produce a more intense subsurface scattering with a more apparent color bleeding effect. This value is in range [0, 1]. Set to zero to disable refraction.

    Returns number

  • set subsurfaceWeight(value): void
  • Parameters

    • value: number

    Returns void

  • get uvOffset(): Immutable<Vector2>
  • Controls the tile offset of the material. The UV offset value will be used to calcuate the final UV value in the form [UV = Geometry.UV * UVTile + UVOffset]

    Returns Immutable<Vector2>

  • set uvOffset(value): void
  • Parameters

    Returns void

  • get uvTile(): Immutable<Vector2>
  • Controls the tiling of the material in the UV space. The UV offset value will be used to calcuate the final UV value in the form [UV = Geometry.UV * UVTile + UVOffset]

    Returns Immutable<Vector2>

  • set uvTile(value): void
  • Parameters

    Returns void