Home PhysicalMaterial
X_ite
Cancel

PhysicalMaterial

Overview

PhysicalMaterial specifies surface rendering properties for associated geometry nodes. Material attributes are used by the X3D lighting equations during rendering.

The PhysicalMaterial node belongs to the Shape component and its default container field is material. It is available since X3D version 4.0 or later.

Hierarchy

1
2
3
4
5
+ X3DNode
  + X3DAppearanceChildNode
    + X3DMaterialNode
      + X3DOneSidedMaterialNode
        + PhysicalMaterial

Fields

SFNode [in, out] metadata NULL [X3DMetadataObject]

Metadata are not part of the X3D world and not interpreted by the X3D browser, but they can be accessed via the ECMAScript interface.

SFColor [in, out] baseColor 1 1 1 [0,1]

Similar to diffuseColor from Material.

SFString [in, out] baseTextureMapping “”

The mapping label identifies which texture coordinates and transformations are used to compute texture effects from corresponding geometry on a given material.

SFNode [in, out] baseTexture NULL [X3DSingleTextureNode]

When applying baseColor for this material node, the contained texture provides Physically Based Rendering (PBR) modulation for each pixel.

Hints

  • If texture node is NULL or unspecified, no effect is applied to material values.
  • Contained texture node must include containerField=’baseTexture’

SFColor [in, out] emissiveColor 0 0 0 [0,1]

How much glowing light is emitted from this object.

Hints

  • emissiveColors glow even when all lights are off.
  • Reset diffuseColor from default (0.8 0.8 0.8) to (0 0 0) to avoid washout.
  • Only emissiveColor affects IndexedLineSet, LineSet and PointSet.

Warning

  • Bright emissiveColor values can wash out other colors and some textures.

SFFloat [in, out] emissiveStrength 1 [0,∞) non standard

A multiplier for emissiveColor and emissiveTexture values.

Hint

SFString [in, out] emissiveTextureMapping “”

The mapping label identifies which texture coordinates and transformations are used to compute texture effects from corresponding geometry on a given material.

SFNode [in, out] emissiveTexture NULL [X3DSingleTextureNode]

When applying emissiveColor for this material node, the contained texture provides Physically Based Rendering (PBR) modulation for each pixel.

Hints

  • If texture node is NULL or unspecified, no effect is applied to material values.
  • Contained texture node must include containerField=’emissiveTexture’

SFFloat [in, out] metallic 1 [0,1]

How metallic is the material.

SFFloat [in, out] roughness 1 [0,1]

How rough is the material.

SFString [in, out] metallicRoughnessTextureMapping “”

The mapping label identifies which texture coordinates and transformations are used to compute texture effects from corresponding geometry on a given material.

SFNode [in, out] metallicRoughnessTexture NULL [X3DSingleTextureNode]

When applying metallic for this material node, the contained texture provides Physically Based Rendering (PBR) modulation for each pixel.

Hints

  • If texture node is NULL or unspecified, no effect is applied to material values.
  • Contained texture node must include containerField=’metallicRoughnessTexture’

SFFloat [in, out] occlusionStrength 1 [0,1]

occlusionStrength indicates areas of indirect lighting, typically called ambient occlusion. Higher values indicate areas that should receive full indirect lighting and lower values indicate no indirect lighting.

Hints

  • Only the Red channel of the texture is used for occlusion computations, other channels are ignored.
  • https://en.wikipedia.org/wiki/Ambient_occlusion

SFString [in, out] occlusionTextureMapping “”

The mapping label identifies which texture coordinates and transformations are used to compute texture effects from corresponding geometry on a given material.

SFNode [in, out] occlusionTexture NULL [X3DSingleTextureNode]

When applying occlusionStrength for this material node, the contained texture provides Physically Based Rendering (PBR) modulation for each pixel.

Hints

  • If texture node is NULL or unspecified, no effect is applied to material values.
  • Contained texture node must include containerField=’occlusionTexture’

SFFloat [in, out] normalScale 1 [0,∞)

normalScale controls the degree to which normalTexture RGB values apply XYZ-normal bump mapping to pixels in the parent material.

Hints

  • normalScale only affects computation of normalTexture modulations that affect lighting of characteristics of the parent Material and has no relation to normal vectors defined by corresponding geometry.
  • normalTexture techniques apply Bump mapping https://en.wikipedia.org/wiki/Bump_mapping

SFString [in, out] normalTextureMapping “”

The mapping label identifies which texture coordinates and transformations are used to compute texture effects from corresponding geometry on a given material.

SFNode [in, out] normalTexture NULL [X3DSingleTextureNode]

When applying normalScale for this material node, the contained texture modulates the texture across the surface.

Hints

  • normalTexture techniques apply Bump mapping https://en.wikipedia.org/wiki/Bump_mapping
  • If texture node is NULL or unspecified, no effect is applied to material values.
  • Contained texture node must include containerField=’normalTexture’

SFFloat [in, out] transparency 0 [0,1]

How “clear” an object is: 1.0 is completely transparent, 0.0 is completely opaque.

Description

Hints

  • Insert Shape and Appearance nodes before adding material.
  • DEF/USE copies of a single node can provide a similar “look + feel” style for related shapes in a scene.
This post is licensed under CC BY 4.0 by the author.