Burnt grapevine or willow stick. Used to draw with since the cave at Lascaux. Crumbles under any pressure, smudges with a finger, lifts off completely with a kneaded eraser — which is what makes it the first medium in any figure-drawing class. Anyone correcting a line in front of you is using it.
Wood pyrolyzed in low-oxygen kiln at ~400 °C until volatile organics drive off, leaving porous near-pure carbon at 80–95% by weight. Hardness varies by source species and char temperature; willow runs softer and sootier than vine. No binder. Marks are a dust layer held by paper tooth alone — fixative (PVA-acetone aerosol) sets them.
Principled BSDF defaults derived from the sphere matte finish. Reasonable seed for Blender, Substance, Keyshot, Rhino — tune per material. Or grab the whole library at once: ForMaterials library →
# finish: matte albedo #1a1818 metallic 0.00 roughness 0.75 ior 1.45 transmission 0.00 clearcoat 0.00 sheen 0.00 anisotropic 0.00
{
"albedo": "#1a1818",
"metallic": 0.0,
"roughness": 0.75,
"ior": 1.45,
"transmission": 0.0,
"clearcoat": 0.0,
"sheen": 0.0,
"anisotropic": 0.0
}
# Blender 4.x — Principled BSDF
# Vine Charcoal · finish: matte
import bpy
mat = bpy.data.materials.new(name="mat_vine_charcoal")
mat.use_nodes = True
bsdf = mat.node_tree.nodes["Principled BSDF"]
bsdf.inputs["Base Color"].default_value = (0.0103, 0.0091, 0.0091, 1.0)
bsdf.inputs["Metallic"].default_value = 0.000
bsdf.inputs["Roughness"].default_value = 0.750
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.000
bsdf.inputs["Anisotropic"].default_value = 0.000
# KeyShot 11+ — lux Python API, Generic material
# Vine Charcoal · finish: matte
# Run from Window → Scripting Console
import lux
mat = lux.createMaterial(name="mat_vine_charcoal", materialType="Generic")
mat.setProperty("diffuse", (26, 24, 24)) # 8-bit sRGB
mat.setProperty("metallic", 0.000)
mat.setProperty("roughness", 0.750)
mat.setProperty("indexOfRefraction", 1.450)
mat.setProperty("transparency", 0.000)
mat.setProperty("coatingWeight", 0.000)
{
"_format": "Substance Designer / Painter \u2014 pbrMetalRough constants",
"_about": "Vine Charcoal \u00b7 finish: matte",
"baseColor": {
"r": 0.0103,
"g": 0.0091,
"b": 0.0091
},
"metallic": 0.0,
"roughness": 0.75,
"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."
}
{
"asset": {
"version": "2.0",
"generator": "ForMatter"
},
"materials": [
{
"name": "mat_vine_charcoal",
"pbrMetallicRoughness": {
"baseColorFactor": [
0.0103,
0.0091,
0.0091,
1.0
],
"metallicFactor": 0.0,
"roughnessFactor": 0.75
},
"extensions": {
"KHR_materials_ior": {
"ior": 1.45
}
}
}
]
}
# USD Preview Surface — UsdShade.MaterialLook prim attributes
# Vine Charcoal · finish: matte
def Material "mat_vine_charcoal" {
token outputs:surface.connect = </mat_vine_charcoal/PreviewSurface.outputs:surface>
def Shader "PreviewSurface" {
uniform token info:id = "UsdPreviewSurface"
color3f inputs:diffuseColor = (0.0103, 0.0091, 0.0091)
float inputs:metallic = 0.000
float inputs:roughness = 0.750
float inputs:ior = 1.450
float inputs:opacity = 1.000
float inputs:clearcoat = 0.000
token outputs:surface
}
}
ASTM D5067 charcoal-and-graphite drawing-material technical literature.
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, with cost-over-volume curves, trade-off profiles, equipment-tier filters, and second-life paths layered onto the data 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's Material World on raw materials, Lefteri's Making It on processes, Forty's Concrete and Culture, Sparke's Design in Context, Bürdek's Design: History, Theory and Practice of Product Design, Schröpfer's Material Design on materials in architecture, Winchester's The Perfectionists on tolerance, Minshall's Your Life Is Manufactured on the global supply chain, von Busch's Making Trouble on material activism, Were's How Materials Matter, Hegger / Drexler / Zeumer's Basics Materials, Untracht and McCreight on metalsmithing, USDA Forest Products Lab on woods, GIA on gemstones, Schott / CoorsTek / Toray / Owens Corning datasheets, MakeItFrom for verifiable property numbers, ASM Handbook, ISO standards. Museum holdings draw from the Met, MAD, V&A, Smithsonian American Art Museum, Newark Museum of Art, British Museum, Heard Museum, Smithsonian NMAI, Eiteljorg Museum, Philadelphia Museum of Art, Cranbrook Art Museum, and Grand Rapids Art Museum — collection-record permalinks only, designer overview pages and exhibition listings excluded. Voice blocks now ride on every entry kind — material, process, application, and finish — and include Ruskin on iron, Anni Albers on twining, Greg Lynn on the shred-and-teeth NURBS lineage, Pugin on the metal that won't be hammered, Barthes / Yanagi / Benjamin channeled within their philosophy; Sparke, Bürdek, Forty, Conway, Schröpfer, Minshall, von Busch, Lefteri, Pat Pruitt, Mary Lee Hu, Tom Joyce, Albert Paley, and the rest of the contemporary makers quoted verbatim with citation. All cited.
Local to this browser. No cloud, no account, no telemetry.