Cotton canvas — typically a heavy duck weave — saturated with a paraffin or wax-and-oil blend that fills the fabric pores and turns a breathable cotton into something water-resistant, rugged, and unmistakable. Develops a patina the way leather develops a patina; the wax flows under heat and moves to where the fabric is creased, and the cracking and re-distribution become the fabric's autobiography. The fabric Filson built American outdoor heritage on (since 1897, Tin Cloth) and Barbour built the British countryside coat on (since 1894). Re-waxable indefinitely with field wax. Smells of paraffin and lanolin and the way someone's grandfather's coat closet smelled.
Cotton duck or twill (8–24 oz/yd² before wax) impregnated with a wax-and-oil blend — historically paraffin + lanolin + linseed oil + sometimes wool grease — at 8–25 percent of pre-wax weight. Modern formulations may include synthetic paraffin and microcrystalline waxes for better re-meltability and less off-gassing. Wax fills inter-yarn pores, blocking water, and impregnates the cotton fibers, increasing tensile strength and reducing air-permeability. Hydrostatic head 800–1500 mm (water-resistant, not waterproof). Tear strength inherits from the duck weave plus wax stiffening. Eventually the wax migrates and the fabric needs re-waxing — an iron and a tin of fabric wax restore the finish indefinitely. Holds creases (a feature, not a bug — wear marks are part of the aesthetic). Sews readily with heavier needle (#21) and waxed thread; the fabric is sticky to feed but the seam holds beautifully.
Principled BSDF defaults derived from the sphere fibrous finish. Reasonable seed for Blender, Substance, Keyshot, Rhino — tune per material. Or grab the whole library at once: ForMaterials library →
# finish: fibrous albedo #5a4520 metallic 0.00 roughness 0.70 ior 1.45 transmission 0.00 clearcoat 0.00 sheen 0.70 anisotropic 0.50
{
"albedo": "#5a4520",
"metallic": 0.0,
"roughness": 0.7,
"ior": 1.45,
"transmission": 0.0,
"clearcoat": 0.0,
"sheen": 0.7,
"anisotropic": 0.5
}
# Blender 4.x — Principled BSDF
# Waxed Cotton Canvas (Filson / Barbour Heritage) · finish: fibrous
import bpy
mat = bpy.data.materials.new(name="mat_waxed_canvas")
mat.use_nodes = True
bsdf = mat.node_tree.nodes["Principled BSDF"]
bsdf.inputs["Base Color"].default_value = (0.1022, 0.0595, 0.0144, 1.0)
bsdf.inputs["Metallic"].default_value = 0.000
bsdf.inputs["Roughness"].default_value = 0.700
bsdf.inputs["IOR"].default_value = 1.450
bsdf.inputs["Transmission Weight"].default_value = 0.000
bsdf.inputs["Coat Weight"].default_value = 0.000
bsdf.inputs["Sheen Weight"].default_value = 0.700
bsdf.inputs["Anisotropic"].default_value = 0.500
# KeyShot 11+ — lux Python API, Generic material
# Waxed Cotton Canvas (Filson / Barbour Heritage) · finish: fibrous
# Run from Window → Scripting Console
import lux
mat = lux.createMaterial(name="mat_waxed_canvas", materialType="Generic")
mat.setProperty("diffuse", (90, 69, 32)) # 8-bit sRGB
mat.setProperty("metallic", 0.000)
mat.setProperty("roughness", 0.700)
mat.setProperty("indexOfRefraction", 1.450)
mat.setProperty("transparency", 0.000)
mat.setProperty("coatingWeight", 0.000)
{
"_format": "Substance Designer / Painter \u2014 pbrMetalRough constants",
"_about": "Waxed Cotton Canvas (Filson / Barbour Heritage) \u00b7 finish: fibrous",
"baseColor": {
"r": 0.1022,
"g": 0.0595,
"b": 0.0144
},
"metallic": 0.0,
"roughness": 0.7,
"ior": 1.45,
"opacity": 1.0,
"anisotropyLevel": 0.5,
"_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."
}
{
"asset": {
"version": "2.0",
"generator": "ForMatter"
},
"materials": [
{
"name": "mat_waxed_canvas",
"pbrMetallicRoughness": {
"baseColorFactor": [
0.1022,
0.0595,
0.0144,
1.0
],
"metallicFactor": 0.0,
"roughnessFactor": 0.7
},
"extensions": {
"KHR_materials_ior": {
"ior": 1.45
},
"KHR_materials_sheen": {
"sheenColorFactor": [
1.0,
1.0,
1.0
],
"sheenRoughnessFactor": 0.7
}
}
}
]
}
# USD Preview Surface — UsdShade.MaterialLook prim attributes
# Waxed Cotton Canvas (Filson / Barbour Heritage) · finish: fibrous
def Material "mat_waxed_canvas" {
token outputs:surface.connect = </mat_waxed_canvas/PreviewSurface.outputs:surface>
def Shader "PreviewSurface" {
uniform token info:id = "UsdPreviewSurface"
color3f inputs:diffuseColor = (0.1022, 0.0595, 0.0144)
float inputs:metallic = 0.000
float inputs:roughness = 0.700
float inputs:ior = 1.450
float inputs:opacity = 1.000
float inputs:clearcoat = 0.000
token outputs:surface
}
}
Filson care-and-repair literature; British Millerain waxed-cotton technical bulletins.
House vocabulary — terms ForMatter uses with intent.
Materials and processes for people who design and make things.
A local-first library of materials, processes, applications, and finishes — equal weight, citable everywhere, so a student can move from "what is this" toward "what's actually buildable here, now, by me." Part of the renato.design ecosystem — sibling of Plenum, Specimen, Ingenue, gesture, graf, and the Renato Rhino plug-ins. Form and matter, inseparable.
Half of teaching materials is teaching how the material is made into the thing. The standard subscription library was always light on that half. The wedge here isn't better samples or a prettier interface — it's treating Process as a peer entity, not a footnote.
Conway, Lefteri, Forty, Sparke, ASM, GIA. Every voice: Voices.
Local to this browser. No telemetry.