Skip to main content
Filament provides several material models (also called shading models or lighting models) that define how surfaces interact with light. Each model is optimized for specific types of materials and rendering scenarios.

Available Material Models

Filament supports the following material models:
  • Lit (Standard) - Physically-based model for most surfaces
  • Subsurface - For materials with subsurface scattering
  • Cloth - Specialized model for fabrics and textiles
  • Unlit - No lighting calculations, for pre-lit content
  • Specular Glossiness - Legacy model for compatibility

Lit Model

The lit model is Filament’s standard physically-based shading model. It was designed for good interoperability with other common tools and engines such as Unity 5, Unreal Engine 4, Substance Designer, and Marmoset Toolbag. This model can describe both:
  • Dielectrics - Non-metallic surfaces like plastic, wood, concrete
  • Conductors - Metallic surfaces like iron, gold, copper

Core Properties

PropertyTypeRangeDescription
baseColorfloat4[0..1]Diffuse albedo for non-metals, specular color for metals
metallicfloat[0..1]Whether surface is dielectric (0) or conductor (1)
roughnessfloat[0..1]Surface smoothness (0) to roughness (1)
reflectancefloat[0..1]Fresnel reflectance at normal incidence for dielectrics
ambientOcclusionfloat[0..1]Per-pixel shadowing factor

Advanced Properties

PropertyTypeRangeDescription
clearCoatfloat[0..1]Strength of clear coat layer
clearCoatRoughnessfloat[0..1]Roughness of clear coat layer
clearCoatNormalfloat3[0..1]Normal map for clear coat layer
anisotropyfloat[-1..1]Anisotropic reflectance amount
anisotropyDirectionfloat3[0..1]Direction of anisotropy in tangent space
sheenColorfloat3[0..1]Strength and color of sheen layer
sheenRoughnessfloat[0..1]Roughness of sheen layer
emissivefloat4rgb=[0..n], a=[0..1]Emissive color in nits
normalfloat3[0..1]Normal map in tangent space

Refraction Properties

PropertyTypeRangeDescription
iorfloat[1..n]Index of refraction
transmissionfloat[0..1]Amount of transmitted diffuse light
absorptionfloat3[0..n]Light absorption coefficients
thicknessfloat[0..n]Thickness for solid refractive objects
microThicknessfloat[0..n]Thickness for thin refractive objects
dispersionfloat[0..n]Chromatic dispersion (20/Abbe number)

Base Color Guidelines

Non-metals (Dielectrics):
  • Coal: sRGB(0.19, 0.19, 0.19)
  • Wood: sRGB(0.53, 0.36, 0.24)
  • Concrete: sRGB(0.75, 0.75, 0.73)
Metals (Conductors):
  • Silver: sRGB(0.97, 0.96, 0.91)
  • Gold: sRGB(1.00, 0.85, 0.57)
  • Copper: sRGB(0.97, 0.74, 0.62)

Reflectance Values

MaterialReflectanceIORLinear Value
Water2%1.330.35
Plastic/Glass4-5%1.5-1.580.5-0.56
Skin2.8%1.40.42
Default4%1.50.5

Subsurface Model

The subsurface model extends the lit model to simulate light scattering beneath the surface. This is ideal for materials like skin, wax, marble, and jade.

Properties

Includes all lit model properties except sheen and clear coat, plus:
PropertyTypeRangeDescription
thicknessfloat[0..n]Thickness of the material
subsurfacePowerfloat-Controls scattering falloff (default: 12.234)
subsurfaceColorfloat3[0..1]Tint of scattered light

Cloth Model

The cloth model is optimized for fabrics and textiles, which exhibit softer specular lobes and forward/backward scattering. It’s more efficient than using the lit model with sheen for cloth-like materials.

When to Use

Use the cloth model for:
  • Cotton, denim, wool fabrics
  • Velvet and soft materials
  • Any loosely-woven textiles
Use the lit model instead for:
  • Leather
  • Silk and satin
  • Hard surface materials

Properties

PropertyTypeRangeDescription
baseColorfloat4[0..1]Diffuse color of the fabric
roughnessfloat[0..1]Surface roughness
sheenColorfloat3[0..1]Specular tint (defaults to √baseColor)
subsurfaceColorfloat3[0..1]Scattering color
The cloth model does not include metallic or reflectance properties as fabrics are always dielectric.

Tips

  • For velvet: Use dark baseColor with bright/saturated sheenColor
  • For common fabrics: Set sheenColor to the luminance of baseColor
  • Use subsurfaceColor sparingly as high values can interfere with shadows

Unlit Model

The unlit model disables all lighting computations. Use it for:
  • Pre-lit content (cubemaps, videos)
  • User interfaces
  • Camera streams
  • Debugging visualizations

Properties

PropertyTypeRangeDescription
baseColorfloat4[0..1]Surface diffuse color
emissivefloat4rgb=[0..n], a=[0..1]Additional emissive color
postLightingColorfloat4[0..1]Color to blend with result

Specular Glossiness Model

This legacy model exists for compatibility with older assets. It’s not physically-based and should only be used when loading legacy content.

Properties

PropertyTypeRangeDescription
baseColorfloat4[0..1]Surface diffuse color
specularColorfloat3[0..1]Specular tint
glossinessfloat[0..1]Inverse of roughness
We do not recommend using the specular glossiness model except when loading legacy assets. Use the lit model for new materials.

Selecting a Material Model

Choose your material model based on the surface type:
material {
    shadingModel : lit,  // or subsurface, cloth, unlit, specularGlossiness
    // ...
}
Surface TypeRecommended Model
Hard surfaces (metal, plastic, wood)Lit
Skin, wax, jadeSubsurface
Fabrics, velvetCloth
UI, pre-lit contentUnlit
Legacy assetsSpecular Glossiness

Next Steps

Build docs developers (and LLMs) love