OptionalalphaOptionalalphaAlpha-handling mode:
"OPAQUE" — alpha channel is ignored. Default."MASK" — fragments with albedoAlpha < alphaCutoff are
discarded. Used for cutout foliage, fences, etc."BLEND" — alpha contributes to the output and the fragment is
alpha-blended into the framebuffer.For MASK / BLEND, the alpha source is the A channel of the bound
colorTexture multiplied by opacity.
OptionalattenuationRGB colour reached by transmitted light after traveling attenuationDistance through the material.
[1, 1, 1] is neutral and applies no absorption tint.
OptionalattenuationDistance, in scene units, at which transmitted light reaches attenuationColor.
Infinity means unlimited/no distance-based attenuation.
Default is Infinity.
OptionalclearcoatStrength of a dielectric clearcoat layer above the base material, in
[0, 1].
0 disables the layer; 1 applies the full coat. Only consulted on the
smooth-shaded Cook-Torrance path.
Default is 0.0.
OptionalclearcoatMicrofacet roughness for the clearcoat layer, in [0, 1].
Lower values produce tighter secondary highlights; higher values broaden them. Only consulted when SceneMaterialParams.clearcoat is greater than zero.
Default is 0.0.
OptionalcolorColor of the material, as RGB components in the range 0.0 to 1.0.
OptionalcolorID of a color texture created previously with SceneModel.createTexture.
A color texture has color in RGB and alpha in A.
OptionalcolorTexture-coordinate channel used by SceneMaterialParams.colorTextureId. Defaults to 0.
OptionalcolorAffine UV transform applied to SceneMaterialParams.colorTextureId. Defaults to identity.
OptionalemissiveEmissive color factor, as RGB components in the range 0.0 to 1.0.
Multiplied against the. Defaults to
[0, 0, 0] (no emission) — except that SceneModel.createMaterial
auto-defaults it to [1, 1, 1] when an emissive texture is present, so a
textured material glows without restating the factor.
OptionalemissiveID of an emissive color texture created previously with SceneModel.createTexture.
An emissive texture has RGBA components, with emissive factors in RGB.
OptionalemissiveTexture-coordinate channel used by SceneMaterialParams.emissiveTextureId. Defaults to 0.
OptionalemissiveAffine UV transform applied to SceneMaterialParams.emissiveTextureId. Defaults to identity.
OptionalhatchHatch pattern for triangle-surface meshes that carry this material. Accepts either a named preset from HatchStyle or a HatchParams object that specifies one to four line families plus a hatch ink colour and opacity.
Hatches are the engineering analog of linePattern: they paint a regular set of parallel ink lines over the lit surface to indicate a material class (concrete, steel, brick, masonry) on a cross-section or elevation drawing. Patterns are applied in screen space — the lines stay at constant pixel thickness and spacing regardless of surface depth or orientation.
Default is "solid" — no hatch, surface renders normally.
Affects visual appearance only; picking treats the surface as continuous regardless of the pattern.
ID for the texture set.
OptionaliorIndex of refraction used to derive dielectric surface reflectance.
Renderers use this for the dielectric Fresnel base reflectance, for example
((ior - 1) / (ior + 1))^2, then blend toward the metallic colour when
metallic is non-zero. This is a
material reflectance property; it does not imply geometric refraction.
Default is 1.5, which preserves the conventional dielectric F0 of
approximately 0.04.
OptionallineDash / gap pattern for line-primitive meshes that carry
this material. Accepts either a named preset from
LineStyle or a custom [dash, gap, dash, gap, …]
array (up to 8 entries, units of line-width).
Pattern entries are measured in line-width units so visual
proportions stay constant as lineWidth changes:
[3, 2] reads as "dash 3 × lineWidth, gap 2 × lineWidth".
Default is "solid" — continuous line. Setting any other
value overrides the View-level lines-material pattern for
meshes that carry this material, so engineering conventions
(hidden, centre, phantom) can be mixed within a single
drawing.
Affects visual appearance only; picking treats the line as continuous regardless of the pattern.
OptionallinePixel thickness for line-primitive meshes that carry this material. Consumed by the thick-line draw technique, which quad-expands every line in the vertex shader and offsets each side by half this width.
Default 0, which means "fall back to the View's
linesMaterial.lineWidth". Setting a positive value
overrides that fallback per-material so different
line-primitive meshes can be drawn at different thicknesses
in the same View.
OptionalmetallicHow metallic the surface is, in [0, 1]. 0 is a dielectric (plastic,
stone, paint); 1 is a pure metal whose diffuse term is suppressed
and whose Fresnel base reflectance is tinted by color (or by the
sampled colour texture, when one is bound).
Only consulted on the smooth-shaded path.
Default is 0.0.
OptionalmetallicID of a metallic-roughness texture created previously with SceneModel.createTexture.
A metallic-roughness texture has RGBA components, with the metallic factor in R, and the roughness factor in G.
OptionalmetallicTexture-coordinate channel used by SceneMaterialParams.metallicRoughnessTextureId. Defaults to 0.
OptionalmetallicAffine UV transform applied to SceneMaterialParams.metallicRoughnessTextureId. Defaults to identity.
OptionalnormalsID of a normal map texture created previously with SceneModel.createTexture.
A normal map texture has RGBA components, with the normal map vectors in RGB.
OptionalnormalsTexture-coordinate channel used by SceneMaterialParams.normalsTextureId. Defaults to 0.
OptionalnormalsAffine UV transform applied to SceneMaterialParams.normalsTextureId. Defaults to identity.
OptionalocclusionID of an ambient occlusion texture created previously with SceneModel.createTexture.
An occlusion texture has RGBA components, with occlusion factor in R,
OptionalocclusionTexture-coordinate channel used by SceneMaterialParams.occlusionTextureId. Defaults to 0.
OptionalocclusionAffine UV transform applied to SceneMaterialParams.occlusionTextureId. Defaults to identity.
OptionalopacityOpacity of the material, in the range 0.0 to 1.0.
OptionalroughnessMicrofacet roughness used by the renderer's Cook-Torrance BRDF.
0 is mirror-smooth, 1 is fully diffuse. Only consulted on the
smooth-shaded path (geometry with per-vertex normals); flat-shaded
meshes ignore this value.
Default is 0.6 — moderately rough, looks like painted plaster.
OptionalsheenStrength of a soft fabric-like sheen lobe above the base material, in
[0, 1].
Uses one grayscale factor for all colour channels. 0 disables sheen; 1
applies the full lobe. Only consulted on the smooth-shaded Cook-Torrance
path.
Default is 0.0.
OptionalsheenRoughness for the scalar sheen lobe, in [0, 1].
Lower values give a tighter grazing highlight; higher values broaden it. Only consulted when SceneMaterialParams.sheen is greater than zero.
Default is 0.5.
OptionalthicknessCharacteristic/effective thickness of the material volume, in scene units.
Renderers can use this as an approximation input for absorption through transmissive materials. A renderer may initially use this directly as path length, but the field itself represents material thickness, not a particular renderer's path-length calculation.
Default is 0.0 — no known volume thickness.
OptionaltransmissionFraction of non-reflected light intended to pass through this material, in
[0, 1].
This describes a transmissive dielectric material such as glass, crystal or water and is distinct from opacity. Opacity controls surface alpha compositing; transmission controls light that travels through the material volume.
Default is 0.0 — no material transmission.
OptionaltriplanarWorld-space repeat distance used by a renderer's triplanar texture-sampling fallback, in scene units per texture repeat.
Triplanar fallback should engage automatically for any mesh that carries this material when the mesh's geometry has no UV coordinates — typical of BIM, sweeps, lofted pipes, and generated curve meshes. Each fragment derives its sample coordinates from world-space position rather than vertex UVs, so the texture appears at a fixed physical scale regardless of mesh scale or geometry layout.
Materials whose meshes all carry UVs ignore this value.
Default is 1.0 — one texture repeat per scene unit.
Cut-off threshold used when
alphaModeis"MASK". Fragments withalbedoAlpha < alphaCutoffare discarded. Default is0.5.