OptionalbaseOptionalbaseOptionalbaseOptionalbaseOren-Nayar diffuse roughness — reserved (v1 shades Lambert).
OptionalspecularOptionalspecularOptionalspecularOptionalspecularOptionalspecular[-1,1] tangent-aligned highlight stretch.
OptionalspecularAnisotropy direction in radians (tangent-space rotation).
OptionalcoatOptionalcoatOptionalcoatOptionalcoatOptionalcoatThroughput-darkening of the under-layer by the coat (0..1).
OptionalfuzzOptionalfuzzOptionalfuzzOptionalsubsurfaceBacklit-glow subsurface stand-in (engine model).
OptionalsubsurfaceOptionalthinOptionalthinOptionalthinOptionalemissionOptionalemissionOptionaltransmissionSee-through refractive transmission strength (OpenPBR transmission_weight /
glTF KHR_materials_transmission). Default 0 (opaque).
OptionalthicknessVolume thickness in world units (glTF KHR_materials_volume); drives
Beer-Lambert absorption. Default 0 (thin surface).
OptionalattenuationBeer-Lambert absorption color (glTF attenuationColor). Default white.
OptionalattenuationAbsorption distance (glTF attenuationDistance). Default Infinity (none).
OptionaldispersionChromatic dispersion (glTF KHR_materials_dispersion). Default 0.
OptionalopacityAlpha (geometry.opacity). Blended when transparent is set.
OptionalnormalOptionalunlitOutput base color with no lighting/IBL.
OptionalbaseOptionalnormalOptionalmetallicPacked metallic / emissive-scalar / roughness map (engine MER: R=metallic,
G=emissive scalar, B=roughness). Same layout as PbrMaterial.merMap.
OptionalemissivesRGB emission color texture; multiplied by emissionColor·emissionLuminance.
OptionalcoatTangent-space normal map for the clear-coat lobe (coat_normal). When absent
the coat uses the geometric normal (a smooth coat over a bumpy base — the
common car-paint case). Applied in the forward path only.
OptionalanisotropyAnisotropy direction/strength map (glTF KHR_materials_anisotropy
anisotropyTexture): .rg = the tangent-space direction (×2−1, rotated by
specularRotation), .b = a per-pixel strength multiplier for
specularAnisotropy. 1×1 default (dir (1,0), strength 1) when absent →
the constant rotation/strength path. Same layout as PbrMaterial.anisotropyMap.
OptionaltransmissionPer-pixel transmission factor map (glTF transmissionTexture, .r).
OptionalthicknessPer-pixel volume thickness map (glTF thicknessTexture, .g).
OptionaltexPer-texture UV transforms (glTF KHR_texture_transform applied independently
per texture). An array of up to 6 entries in slot order —
[baseColor, normal, MER, emissive, coatNormal, anisotropy] — each a
PerTextureUvTransform ({ offset, scale, rotation }), or null/omitted
= identity for that slot. When any slot is supplied, the material compiles the
HAS_TEX_TRANSFORM variant and binds a second group-2 uniform (binding 8); each
texture then samples with its own offset/scale/rotation instead of raw UVs.
Leave undefined for the cheaper default path (raw in.uv, no binding 8).
Optionaltransparent
OpenPBR Surface inputs (v1 subset). Defaults follow the OpenPBR spec's default surface where practical. Colors are linear RGB.