HTML Encoding and Default Values⤴
<PhysicalMaterial
alphaCutoff='0.5'
alphaMode=''OPAQUE''
ambientIntensity='0.2'
baseColorFactor='1,1,1,1'
baseColorTexture=''
diffuseColor='0.8,0.8,0.8'
diffuseFactor='1,1,1'
emissiveColor='0,0,0'
emissiveFactor='0,0,0'
emissiveTexture=''
glossinessFactor='1'
metadata='X3DMetadataObject'
metallicFactor='0.0'
model='roughnessMetallic'
normalBias='-1,-1, 1'
normalScale='1'
normalSpace=''TANGENT''
normalTexture=''
occlusionRoughnessMetallic=''
occlusionTexture=''
roughnessFactor='0.2'
roughnessMetallicTexture=''
shininess='0.2'
specularColor='0,0,0'
specularFactor='1,1,1'
specularGlossinessTexture=''
transparency='0'
unlit='false'
></PhysicalMaterial>
Inheritance⤴
- X3DNode(18)
- X3DAppearanceChildNode(9)
- X3DMaterialNode(3)
- PhysicalMaterial
Constructor⤴
-
PhysicalMaterial(ctx)⤴
-
Constructor for X3DMaterialNode
Parameters:
Name Type Argument Default Description ctx
Object <optional>
null context object, containing initial settings like namespace
Fields⤴
These are the X3D / X3DOM fields of this node. Values should usually be received / set as strings via
DOM functions (i.e., using
setAttribute("myFieldName", "myFieldValue")
and
getAttribute("myFieldName")
).
Name | Type | Default Value | Range | Inheritance | Standard | Description |
---|---|---|---|---|---|---|
alphaCutoff | SFFloat | 5 | [0, 1] | Specifies the cutoff threshold when in `MASK` alpha mode. If the alpha value is greater than or equal to this value then it is rendered as fully opaque, otherwise, it is rendered as fully transparent. A value greater than 1.0 will render the entire material as fully transparent. This value is ignored for other modes. | ||
alphaMode | SFString | 'OPAQUE' | [OPAQUE, BLEND, MASK] | The material's alpha rendering mode enumeration specifying the interpretation of the alpha value of the main factor and texture. | ||
ambientIntensity | SFFloat | 2 | [0, 1] | X3DMaterialNode | The ambientIntensity field specifies how much ambient light from light sources this surface shall reflect. Ambient light is omnidirectional and depends only on the number of light sources, not their positions with respect to the surface. Ambient colour is calculated as ambientIntensity × diffuseColor. | |
baseColorFactor | SFColor | 1,1,1,1 | The RGBA components of the base color of the material. The fourth component (A) is the alpha coverage of the material. The `alphaMode` property specifies how alpha is interpreted. These values are linear. If a baseColorTexture is specified, this value is multiplied with the texel values. | |||
baseColorTexture | X3DTextureNode | The base color texture in the met. rough. model. This texture contains RGB(A) components in sRGB color space. The first three components (RGB) specify the base color of the material. If the fourth component (A) is present, it represents the alpha coverage of the material. Otherwise, an alpha of 1.0 is assumed. The `alphaMode` property specifies how alpha is interpreted. The stored texels must not be premultiplied. | ||||
diffuseColor | SFColor | 8 | X3DMaterialNode | The diffuseColor field reflects all X3D light sources depending on the angle of the surface with respect to the light source. The more directly the surface faces the light, the more diffuse light reflects. The emissiveColor field models "glowing" objects. This can be useful for displaying pre-lit models (where the light energy of the room is computed explicitly), or for displaying scientific data. | ||
diffuseFactor | SFColor | 1,1,1 | The RGBA components of the reflected diffuse color of the material used in the spec.-gloss. model. Metals have a diffuse value of '0.0, 0.0, 0.0'. The fourth component (A) is the opacity of the material. The values are linear. | |||
emissiveColor | SFColor | 0,0,0 | X3DMaterialNode | The emissiveColor field models "glowing" objects. This can be useful for displaying pre-lit models (where the light energy of the room is computed explicitly), or for displaying scientific data. | ||
emissiveFactor | SFColor | 0,0,0 | The RGB components of the emissive color of the material. These values are linear. If an emissiveTexture is specified, this value is multiplied with the texel values. | |||
emissiveTexture | X3DTextureNode | The emissive map controls the color and intensity of the light being emitted by the material. This texture contains RGB components in sRGB color space. If a fourth component (A) is present, it is ignored. | ||||
glossinessFactor | SFFloat | 1 | [0, 1] | The glossiness or smoothness of the material used in the spec.-gloss. model. A value of 1.0 means the material has full glossiness or is perfectly smooth. A value of 0.0 means the material has no glossiness or is perfectly rough. This value is linear. | ||
metadata | SFNode | X3DMetadataObject | X3DNode | Field to add metadata information | ||
metallicFactor | SFFloat | 0 | [0, 1] | The metalness of the material. A value of 1.0 means the material is a metal. A value of 0.0 means the material is a dielectric. Values in between are for blending between metals and dielectrics such as dirty metallic surfaces. This value is linear. If a roughnessMetallicTexture is specified, this value is multiplied with the metallic texel values. | ||
model | SFString | roughnessMetallic | The material model used. Valid values are "roughnessMetallic" and "specularGlossiness". | |||
normalBias | SFVec3f | -1,-1, 1 | Bias to apply to normal sampled from normalTexture | |||
normalScale | SFVec3f | 1 | Scale to apply to normal sampled from normalTexture. NYI | |||
normalSpace | SFString | 'TANGENT' | [TANGENT, OBJECT] | Space in which normals of the normalTexture are defined. Valid values are "TANGENT" and "OBJECT". | ||
normalTexture | X3DTextureNode | A tangent space normal map. The texture contains RGB components in linear space.
Each texel represents the XYZ components of a normal vector in tangent space.
Red [0 to 255] maps to X [-1 to 1]. Green [0 to 255] maps to Y [-1 to 1].
Blue [128 to 255] maps to Z [1/255 to 1]. The normal vectors use OpenGL conventions
where +X is right and +Y is up. +Z points toward the viewer. In GLSL,
this vector would be unpacked like so:
`float3 normalVector = tex2D( |
||||
occlusionRoughnessMetallic | X3DTextureNode | Specifies a texture with the packing Occlusion (R), Roughness (G), Metallic (B) | ||||
occlusionTexture | X3DTextureNode | The occlusion map texture. The occlusion values are sampled from the R channel. Higher values indicate areas that should receive full indirect lighting and lower values indicate no indirect lighting. These values are linear. If other channels are present (GBA), they are ignored for occlusion calculations. | ||||
roughnessFactor | SFFloat | 2 | [0, 1] | The roughness of the material. A value of 1.0 means the material is completely rough. A value of 0.0 means the material is completely smooth. This value is linear. If a roughnessMetallicTexture is specified, this value is multiplied with the roughness texel values. | ||
roughnessMetallicTexture | X3DTextureNode | The metallic-roughness texture. The metalness values are sampled from the B channel. The roughness values are sampled from the G channel. These values are linear. If other channels are present (R or A), they are ignored for metallic-roughness calculations. | ||||
shininess | SFFloat | 2 | [0, 1] | X3DMaterialNode | The specularColor and shininess fields determine the specular highlights (e.g., the shiny spots on an apple). When the angle from the light to the surface is close to the angle from the surface to the viewer, the specularColor is added to the diffuse and ambient colour calculations. Lower shininess values produce soft glows, while higher values result in sharper, smaller highlights. | |
specularColor | SFColor | 0,0,0 | X3DMaterialNode | The specularColor and shininess fields determine the specular highlights (e.g., the shiny spots on an apple). When the angle from the light to the surface is close to the angle from the surface to the viewer, the specularColor is added to the diffuse and ambient colour calculations. Lower shininess values produce soft glows, while higher values result in sharper, smaller highlights. | ||
specularFactor | SFColor | 1,1,1 | The specular RGB color of the material used in the spec.-gloss. model. This value is linear. | |||
specularGlossinessTexture | X3DTextureNode | The specular-glossiness texture is a RGBA texture, containing the specular color (RGB) in sRGB space and the glossiness value (A) in linear space. | ||||
transparency | SFFloat | 0 | [0, 1] | X3DMaterialNode | The transparency field specifies how "clear" an object is, with 1.0 being completely transparent, and 0.0 completely opaque. | |
unlit | SFBool | false | Set the material to unlit Final color is the product of baseColorFactor, baseColorTexture, and vertex color (if any) |