Sediment of ancient sea creatures pressed into rock. Soft enough to carve with a chisel, hard enough to clad a bank. The Empire State Building, the Pyramids' core, every Indiana courthouse — limestone. Weathers slowly to a chalkier surface; takes graffiti, takes acid rain. Cuts reveal fossils.
Sedimentary rock composed primarily of calcite and aragonite (CaCO3). Compressive strength 60–170 MPa depending on porosity and fossil content. Reacts visibly with dilute acids — a quick HCl drop on a fresh cut is the field test. Mohs hardness 3 (a copper coin scratches it). Used as cut block (dimensional stone), as crushed aggregate, and as the principal feedstock for portland cement.
Limestone is a material that asks for time. Cut fresh, it shows the white of every quarry — uniform, optical, a little embarrassed. Left to weather, it gathers a softer color, the same way an old hand gathers translucence. The fossil at the cut is older than every reading of it. The pleasure is in waiting for the wall to look used, and in the willingness to let the stone do that work without correction.
Principled BSDF defaults derived from the sphere granular finish. Reasonable seed for Blender, Substance, Keyshot, Rhino — tune per material.
# finish: granular albedo #c8bfa8 metallic 0.00 roughness 0.85 ior 1.45 transmission 0.00 clearcoat 0.00 sheen 0.00 anisotropic 0.00
{
"albedo": "#c8bfa8",
"metallic": 0.0,
"roughness": 0.85,
"ior": 1.45,
"transmission": 0.0,
"clearcoat": 0.0,
"sheen": 0.0,
"anisotropic": 0.0
}
# Blender 4.x — Principled BSDF
# Limestone · finish: granular
import bpy
mat = bpy.data.materials.new(name="mat_limestone")
mat.use_nodes = True
bsdf = mat.node_tree.nodes["Principled BSDF"]
bsdf.inputs["Base Color"].default_value = (0.5776, 0.521, 0.3916, 1.0)
bsdf.inputs["Metallic"].default_value = 0.000
bsdf.inputs["Roughness"].default_value = 0.850
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
# Limestone · finish: granular
# Run from Window → Scripting Console
import lux
mat = lux.createMaterial(name="mat_limestone", materialType="Generic")
mat.setProperty("diffuse", (200, 191, 168)) # 8-bit sRGB
mat.setProperty("metallic", 0.000)
mat.setProperty("roughness", 0.850)
mat.setProperty("indexOfRefraction", 1.450)
mat.setProperty("transparency", 0.000)
mat.setProperty("coatingWeight", 0.000)
{
"_format": "Substance Designer / Painter \u2014 pbrMetalRough constants",
"_about": "Limestone \u00b7 finish: granular",
"baseColor": {
"r": 0.5776,
"g": 0.521,
"b": 0.3916
},
"metallic": 0.0,
"roughness": 0.85,
"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_limestone",
"pbrMetallicRoughness": {
"baseColorFactor": [
0.5776,
0.521,
0.3916,
1.0
],
"metallicFactor": 0.0,
"roughnessFactor": 0.85
},
"extensions": {
"KHR_materials_ior": {
"ior": 1.45
}
}
}
]
}
# USD Preview Surface — UsdShade.MaterialLook prim attributes
# Limestone · finish: granular
def Material "mat_limestone" {
token outputs:surface.connect = </mat_limestone/PreviewSurface.outputs:surface>
def Shader "PreviewSurface" {
uniform token info:id = "UsdPreviewSurface"
color3f inputs:diffuseColor = (0.5776, 0.521, 0.3916)
float inputs:metallic = 0.000
float inputs:roughness = 0.850
float inputs:ior = 1.450
float inputs:opacity = 1.000
float inputs:clearcoat = 0.000
token outputs:surface
}
}
A working library of materials and processes. Saves to this browser only — no account, no cloud.
Nothing saved yet. Open a material, process, or application and tap + project.
House vocabulary — terms ForMatter uses with intent.
Materials and processes for people who design and make things.
A local-first library of materials, processes, and applications, equal weight, citable everywhere. 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, 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. Voice blocks: Barthes, Yanagi, Benjamin channeled within their philosophy; Lefteri verbatim. All cited.
Local to this browser. No cloud, no account, no telemetry.