Hydrated silica that diffracts light through a regular array of submicron silica spheres — the rainbow you see flashing inside an opal isn't pigment, it's structural color, the same physics that paints a peacock feather. White opal has a pale milky body; the play-of-color floats inside like fish in clear water. Australia produces about 95% of the world's precious opal, with white opal coming mostly from South Australia.
Amorphous hydrated silica (SiO₂·nH₂O, n=3–10%). Mohs 5.5–6.5. Specific gravity 2.10. Play-of-color from Bragg-style diffraction off close-packed silica spheres (~150–400 nm diameter) in the gem; sphere size determines visible-spectrum range of the play. Sensitive to dehydration cracking ("crazing") if exposed to dry / hot environments — never store with desiccants, never ultrasonic-clean.
Principled BSDF defaults derived from the sphere iridescent finish. Reasonable seed for Blender, Substance, Keyshot, Rhino — tune per material.
# finish: iridescent albedo #e8e8f0 metallic 0.70 roughness 0.30 ior 1.45 transmission 0.00 clearcoat 0.50 sheen 0.50 anisotropic 0.00
{
"albedo": "#e8e8f0",
"metallic": 0.7,
"roughness": 0.3,
"ior": 1.45,
"transmission": 0.0,
"clearcoat": 0.5,
"sheen": 0.5,
"anisotropic": 0.0
}
# Blender 4.x — Principled BSDF
# White Opal (Australian) · finish: iridescent
import bpy
mat = bpy.data.materials.new(name="mat_gem_opal_white_australian")
mat.use_nodes = True
bsdf = mat.node_tree.nodes["Principled BSDF"]
bsdf.inputs["Base Color"].default_value = (0.807, 0.807, 0.8714, 1.0)
bsdf.inputs["Metallic"].default_value = 0.700
bsdf.inputs["Roughness"].default_value = 0.300
bsdf.inputs["IOR"].default_value = 1.450
bsdf.inputs["Transmission Weight"].default_value = 0.000
bsdf.inputs["Coat Weight"].default_value = 0.500
bsdf.inputs["Sheen Weight"].default_value = 0.500
bsdf.inputs["Anisotropic"].default_value = 0.000
# KeyShot 11+ — lux Python API, Generic material
# White Opal (Australian) · finish: iridescent
# Run from Window → Scripting Console
import lux
mat = lux.createMaterial(name="mat_gem_opal_white_australian", materialType="Generic")
mat.setProperty("diffuse", (232, 232, 240)) # 8-bit sRGB
mat.setProperty("metallic", 0.700)
mat.setProperty("roughness", 0.300)
mat.setProperty("indexOfRefraction", 1.450)
mat.setProperty("transparency", 0.000)
mat.setProperty("coatingWeight", 0.500)
{
"_format": "Substance Designer / Painter \u2014 pbrMetalRough constants",
"_about": "White Opal (Australian) \u00b7 finish: iridescent",
"baseColor": {
"r": 0.807,
"g": 0.807,
"b": 0.8714
},
"metallic": 0.7,
"roughness": 0.3,
"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_gem_opal_white_australian",
"pbrMetallicRoughness": {
"baseColorFactor": [
0.807,
0.807,
0.8714,
1.0
],
"metallicFactor": 0.7,
"roughnessFactor": 0.3
},
"extensions": {
"KHR_materials_ior": {
"ior": 1.45
},
"KHR_materials_clearcoat": {
"clearcoatFactor": 0.5
},
"KHR_materials_sheen": {
"sheenColorFactor": [
1.0,
1.0,
1.0
],
"sheenRoughnessFactor": 0.5
}
}
}
]
}
# USD Preview Surface — UsdShade.MaterialLook prim attributes
# White Opal (Australian) · finish: iridescent
def Material "mat_gem_opal_white_australian" {
token outputs:surface.connect = </mat_gem_opal_white_australian/PreviewSurface.outputs:surface>
def Shader "PreviewSurface" {
uniform token info:id = "UsdPreviewSurface"
color3f inputs:diffuseColor = (0.807, 0.807, 0.8714)
float inputs:metallic = 0.700
float inputs:roughness = 0.300
float inputs:ior = 1.450
float inputs:opacity = 1.000
float inputs:clearcoat = 0.500
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.