Skip to the article
3dCMS Knowledge Base
Contact Open the editor
Materials & Textures

The material node graph

A visual, node-based editor for physically-based materials: wire color, roughness, normals, and more into a single output.

Open in the interactive manual →

The interactive version has full-text search, a table of contents, and light/dark themes.


The Material Graph is where materials get serious. You drop in source nodes and wire their outputs into the channels of a single Material Output node. Open it with Edit in Graph on any material card.

Getting around

The graph edits one material at a time (switch with the Material dropdown). The toolbox row has + Add Node, Fit view, the material switcher, and New material. Zoom with the wheel, pan with a middle-drag or Alt+drag, and move a node by dragging its header.

Any graph you didn't arrange yourself arrives as a left-to-right row, sources first and the Material Output last, so no card can hide the one before it however tall its preview grows. That covers the material a new scene starts with, the pack builder and the built-in presets, a texture dropped onto an object, an imported model's materials, and anything the Assistant generates. Once you drag a node somewhere yourself, that arrangement is kept. Fit view brings the whole row back on screen.

The source nodes

NodeProduces
Solid ColorA flat color.
Scalar ValueA single 0–1 number (great for roughness/metalness).
RampA gradient between two colors.
Fractal NoiseProcedural noise: scale, contrast, up to 8 octaves.
CheckerboardA procedural checker pattern.
Raster MapAn image texture, with repeat, offset, and optional scroll or flipbook animation.
Channel SplitterPulls one channel (R/G/B/A) out of a packed image. See ORMH below.
Material OutputThe destination. One per graph.

Ramp, Fractal Noise, and Checkerboard are procedural: they synthesize their texture in the browser, no image file needed.

The output channels

The Material Output node accepts a long list of surface channels: Color, Roughness, Metalness, AO, Bump, Normal, Opacity, Emissive, Displacement, Clearcoat, Sheen, Anisotropy, Iridescence, and more. Most channels take a color or a scalar; Normal needs a real normal-map image (a Raster Map). The output node also carries the Alpha mode. See Transparency & alpha cut-outs.

Beside the channels the output node carries a few scalars for the maps wired into it: Bump Scale, AO Intensity, Displacement and its bias, the clearcoat and sheen amounts, and an emissive strength slider (0 to 16, 1 by default) that reads Emissive Map Intensity when an image is bound to Emissive (1 = the map as painted) and Emissive Intensity when a solid colour is (1 = the colour as given, the same value the Assistant's emissiveIntensity sets). A gradient or pattern keeps its own brightness-driven glow, so the slider is not offered for one. An emissive image reaches shapes only: an imported model paints itself, so on a model only an emissive colour or gradient shows, as a glow over the whole model. If you bound an emissive map before 15 September 2026 it was glowing at about a third of its own pixels, because a grey stand-in meant for the decode window was multiplying it; it now renders at full strength, so turn this slider down rather than repainting the image if a screen suddenly reads hot.

Wiring a node

  1. Pick a source

    Click Out on a source node (or right-click ▸ Set as source). A hint bar appears.

  2. Pick a channel

    On the Material Output node, click the In socket next to the channel you want. The link is made.

  3. Disconnect anytime

    Click the × on a channel row to clear it. If a source can't drive a channel (a scalar into Normal, say), you'll get a friendly warning.

ORMH: four maps in one image

A packed PBR texture stuffs four grayscale maps into one image's color channels. A Channel Splitter extracts one channel each, following the ORMH convention:

ChannelDrives
RAmbient Occlusion
GRoughness
BMetalness
AHeight / Bump

That's four splitter nodes from one image, or just use the one-click pack builder, which wires it all for you. The Assistant and Claude via MCP take the packed file on its own ormh slot (or orm for a three-channel glTF pack) and build the same four splitters.

Start from a preset, then graph it You rarely build a material from a blank canvas. Apply a starter preset close to what you want, hit Edit in Graph, and tweak its nodes, much faster than wiring from scratch.
Spotted something off, or want a topic covered? Tell us, a person reads every message.