Native everywhere
The same application runs everywhere you want it to.
Windows · macOS · Linux · Android · iPad
Surface Labs is a node-based PBR texturing toolkit with a native Rust engine at its core.
Get Surface Labs
Windows, macOS, Linux, Android and iPad. Free while in early access.
Why Surface Labs
The same application runs everywhere you want it to.
One .surfacelabs file opens on any device. Pick up right where you left off.
Mouse, keyboard, touch, stylus, or a controller.
A native Rust engine renders most nodes in under 2 ms.
Out of nodes? Write your own in GLSL, compiled straight to the native engine.
Author up to 8192 × 8192 in full 32-bit float.*
* 8192² authoring is desktop-only. iPadOS and Android are capped lower.
Every platform
8K authoring and the MCP server run on desktop only. iPadOS and Android are memory-limited.
Pipeline
Surface Labs is scriptable end to end. Drive it from the command line for batch work and CI, or over MCP so an AI client reads and edits a project the same way you do.
A standalone process opens a .surfacelabs file, evaluates the graph, writes the full texture set, and exits. Same engine and export path as the app, so a build step reproduces exactly what the Export dialog would write. Batch a hundred variants or drop it into CI.
surface_lab_headless project.surfacelabs --out ./textures
A built-in server exposes the open project over MCP. A client can inspect the graph, add and rewire nodes, retune parameters, author a GLSL node, render any node back as an image, and export the set. Nine action-based tools, with the node registry served as JSON so the client reads the real parameter contract. Every edit is validated like the canvas, so nothing can leave a project the app will not open.
The headless CLI and MCP server run on Windows, macOS and Linux.
Nodes
Generators, filters, blends, transforms, normals, channel ops and math. Many are multi-mode: one Noise node covers eleven families, one Blend covers every mode. Fewer nodes on the canvas, graphs you can still read.
Paint masks and detail straight onto the graph.
A full GLSL editor in one node. Your code becomes ports and controls.
Pack maps or whole materials into strips, each one tunable.
Color LUTs, authored in-graph.
Gallery
How it compares
| Capability | Surface Labs | Substance Designer | Material Maker | Blender |
|---|---|---|---|---|
| Native on 5 platforms | Yes: YesWin · Mac · Linux · Android · iPad | No: Desktop only | No: Desktop only | No: Desktop only |
| Touch, stylus & controller | Yes: Yes | No: No | No: No | No: No |
| No account required | Yes: Yes | Partial: Adobe ID | Yes: Yes | Yes: Yes |
| Author full GLSL code | Yes: Yes | No: Function graphs | Yes: Yes | Partial: OSL |
| Headless automation | Yes: YesBuilt-in CLI | Yes: YesAutomation Toolkit | Yes: YesCLI export | Yes: YesPython |
| MCP integration | Yes: Built-in | Partial: Third-party | No: None | Partial: Third-party |
What's new
This is where Surface Labs gets built. Early builds land here first, people post what they make, and feature requests have a direct line to the next update. Come build with us.
Join the DiscordGet Surface Labs
Windows, macOS, Linux, Android and iPad. Free while in early access.
Get in touch
Questions, feedback or press. We read everything.
Or email hello@surfacelabs.app directly.