mat_oil_paint

Oil Paint

drying-oil paint · artist oil paint, linseed-oil paint, oils

Pigment ground into linseed (or walnut, or safflower) oil. Dries by oxidation over days to months — not by evaporation — so the painter can keep working into a wet surface for hours. Six hundred years of European oil painting are inside this medium. Slow, smelly, beautiful. Cleans with mineral spirits, not water.

Pigment dispersed in a drying oil (typically linseed) that polymerizes by oxidative crosslinking. Touch-dry in 1–3 days for thin films; full cure can take six months to several years depending on pigment, oil, and film thickness. Yellowing of linseed-bound whites is the canonical aging artifact. ASTM D4302 governs labelling. Solvents and mediums (turpentine, OMS, alkyd, stand oil) modulate flow and dry time.

physical

  • density_g_cm31.45
  • solids_pct_typical90
  • vehiclelinseed (or other drying) oil
source: Wikipedia; W&N technical literature

Sustainability

  • recyclabilitylow — natural drying oils are renewable, but solvents and many pigments are not curbside-friendly
  • biodegradableFalse
  • certificationsASTM D4302 (artist oil colors), ASTM D4236 (toxicity labelling)
visual
wet, deep, oily sheen; cures to satin or matte depending on medium
tactile
wet — slick, lingering; dry — smooth, slightly resilient under fingernail
weight perception
light
acoustic
the brush against canvas is the only sound

PBR starter values

finish · glossy — open for table, JSON, host snippets, downloads

Principled BSDF defaults derived from the sphere glossy finish. Reasonable seed for Blender, Substance, Keyshot, Rhino — tune per material. Or grab the whole library at once: ForMaterials library →

# finish:                   glossy
albedo                      #3a4860
metallic                    0.00
roughness                   0.25
ior                         1.45
transmission                0.00
clearcoat                   0.40
sheen                       0.00
anisotropic                 0.00
copy as JSON
{
  "albedo": "#3a4860",
  "metallic": 0.0,
  "roughness": 0.25,
  "ior": 1.45,
  "transmission": 0.0,
  "clearcoat": 0.4,
  "sheen": 0.0,
  "anisotropic": 0.0
}
Blender 4.x Python
# Blender 4.x — Principled BSDF
# Oil Paint · finish: glossy
import bpy
mat = bpy.data.materials.new(name="mat_oil_paint")
mat.use_nodes = True
bsdf = mat.node_tree.nodes["Principled BSDF"]
bsdf.inputs["Base Color"].default_value         = (0.0423, 0.0648, 0.117, 1.0)
bsdf.inputs["Metallic"].default_value           = 0.000
bsdf.inputs["Roughness"].default_value          = 0.250
bsdf.inputs["IOR"].default_value                = 1.450
bsdf.inputs["Transmission Weight"].default_value = 0.000
bsdf.inputs["Coat Weight"].default_value        = 0.400
bsdf.inputs["Sheen Weight"].default_value       = 0.000
bsdf.inputs["Anisotropic"].default_value        = 0.000
KeyShot Python (lux)
# KeyShot 11+ — lux Python API, Generic material
# Oil Paint · finish: glossy
# Run from Window → Scripting Console
import lux
mat = lux.createMaterial(name="mat_oil_paint", materialType="Generic")
mat.setProperty("diffuse",      (58, 72, 96))   # 8-bit sRGB
mat.setProperty("metallic",     0.000)
mat.setProperty("roughness",    0.250)
mat.setProperty("indexOfRefraction", 1.450)
mat.setProperty("transparency", 0.000)
mat.setProperty("coatingWeight", 0.400)
Substance pbrMetalRough
{
  "_format": "Substance Designer / Painter \u2014 pbrMetalRough constants",
  "_about": "Oil Paint \u00b7 finish: glossy",
  "baseColor": {
    "r": 0.0423,
    "g": 0.0648,
    "b": 0.117
  },
  "metallic": 0.0,
  "roughness": 0.25,
  "ior": 1.45,
  "opacity": 1.0,
  "anisotropyLevel": 0.0,
  "_notes": "Channels listed are the standard Substance pbrMetalRough output. Drop into a Uniform Color node per channel, or as the constant input on a layered stack."
}
glTF 2.0 Metallic-Roughness
{
  "asset": {
    "version": "2.0",
    "generator": "ForMatter"
  },
  "materials": [
    {
      "name": "mat_oil_paint",
      "pbrMetallicRoughness": {
        "baseColorFactor": [
          0.0423,
          0.0648,
          0.117,
          1.0
        ],
        "metallicFactor": 0.0,
        "roughnessFactor": 0.25
      },
      "extensions": {
        "KHR_materials_ior": {
          "ior": 1.45
        },
        "KHR_materials_clearcoat": {
          "clearcoatFactor": 0.4
        }
      }
    }
  ]
}
USD Preview Surface
# USD Preview Surface — UsdShade.MaterialLook prim attributes
# Oil Paint · finish: glossy
def Material "mat_oil_paint" {
    token outputs:surface.connect = </mat_oil_paint/PreviewSurface.outputs:surface>

    def Shader "PreviewSurface" {
        uniform token info:id = "UsdPreviewSurface"
        color3f inputs:diffuseColor = (0.0423, 0.0648, 0.117)
        float   inputs:metallic     = 0.000
        float   inputs:roughness    = 0.250
        float   inputs:ior          = 1.450
        float   inputs:opacity      = 1.000
        float   inputs:clearcoat    = 0.400
        token   outputs:surface
    }
}
↓ download glTF material

Second life

repairabilitymoderate — conservation tradition (cleaning, in-painting, varnish replacement); high specialty.
recyclabilityvery low — pigments and oils contaminate paint-recycling streams.
disposal pathhazardous-waste handling; some specialty paint-take-back programs.
typical longevity500 years (typical)
failure modes
  • craquelure (the canonical oil-painting failure pattern)
  • yellowing of the linseed-oil binder over centuries
  • pigment-fade (ultramarine sickness, vermilion-blackening)

American Institute for Conservation oil-painting conservation literature; Winsor & Newton oil-paint technical bulletins.