Cross-platform · accessible · procedural

Procedural textures on any platform, with any input.

Surface Labs is a node-based, GPU-accelerated PBR texturing tool that runs natively on Windows, macOS, Linux, Android and iPad. Work with a mouse, keyboard, Apple Pencil or touch, or run the whole editor from a game controller, built as an accessible alternative to mouse and touch.

Get Surface Labs

For Windows, macOS,Linux, Android andiPad. Free while in early access.

Why Surface Labs

Why texture artists choose Surface Labs

Works the way you do

Mouse, keyboard, Apple Pencil or touch, or run the entire editor from a game controller, built as an accessible alternative to mouse and touch. Same tool on desktop and tablet.

Cross-platform, one codebase

One codebase, built on Flutter, gives you the full native tool on every platform, including tablet.

Nodes that do more

Many nodes do the work of several. One Blend covers every mode, one Histogram scans and remaps, so your graphs stay small and readable.

Programmable

Write your own procedural nodes in a small built-in shading language when the stock library is not enough.

GPU-first, non-destructive

Every node runs as a fragment shader. Change any input and everything after it re-renders in real time, up to 4K.

Yours, offline

No sign-in, no telemetry, no cloud dependency. Nothing leaves your device unless you export it.

A look inside

Materials

Complete PBR material sets

Build full PBR materials from a single graph: albedo, normal, roughness, metallic, AO and height. A 2D preview isolates any channel, and a 3D preview renders the material on a mesh under your own HDR lighting.

  • Albedo, normal, roughness, metallic, AO and height
  • 2D preview with channel isolation
  • Drag-to-orbit 3D preview under HDR lighting
A tiled ceramic PBR material authored in Surface Labs, rendered on a rounded cube.

Programmable

Write your own nodes

When the stock library is not enough, write a node in the built-in shading language. Declarations become ports and controls, and it compiles and runs on the GPU alongside every other node. No native shader compiler required.

// Surface Shading Language. Declarations become ports and controls.
in sampler2D source;                    // @optional

param vec3 tint = vec3(1.0, 0.6, 0.2);  // @color
param float amount = 1.0;               // @range(0, 2)

vec4 shade(vec2 uv) {
    vec4 base = texture(source, uv);
    vec3 rgb = mix(vec3(uv.x, uv.y, 0.5), base.rgb, base.a);
    return vec4(rgb * tint * amount, 1.0);
}

Surface Shading Language: a custom node

Toolbox

A deep node library, engine-aware export

Generators, filters, blends, transforms, normal and height tools, channel operations, histograms and math. Many are multi-mode, doing the job of several nodes at once.

PerlinFBMVoronoiCellsCloudsCheckerGradientBrickTile SamplerBlurSharpenLevelsCurvesHSL ShiftThresholdWarpGradient MapBlendNormal from HeightCurvatureAO from HeightEdge DetectHistogramChannel Combineand more

Export straight into your engine

Presets write the right maps with the right names and channel packing for each target, including ORM packing and DirectX or OpenGL normal orientation. Output as PNG, JPEG, TGA or BMP.

Unreal EngineUnity (URP & HDRP)GodotglTF / three.js

How it compares

Where Surface Labs goes further

How Surface Labs stacks up against Substance Designer, Material Maker and Blender's shader graph.

CapabilitySurface LabsSubstance DesignerMaterial MakerBlender
Desktop and tabletYesOne app, everywhereDesktop onlyDesktop onlyDesktop only
Touch + Apple PencilYesNoNoNo
Controller / gamepad navigationYesNoNoNo
Offline, no accountYesAccount requiredYesYes
Built-in programmable shader nodesYesRuns anywhereYesDesktopYesDesktopScripting / OSL
One-click game-engine export presetsYesUnreal · Unity · Godot · glTFYesYesNot export-focused
GPU-accelerated on every platformYesdesktop and tabletDesktop onlyDesktop onlyDesktop only
One-time purchase, no subscriptionYesown it, no rentalSubscription onlyFreeFree

Surface Labs runs everywhere you do, takes any input, works offline, and exports straight to your engine. Buy it once and own it, no subscription.

Cross-platform & accessible

Every platform, every input

One Flutter codebase gives you the full native tool on desktop and tablet, with first-class support for every input.

Cross-platform

WindowsmacOSLinuxAndroidiPadOS

The full native app on every platform, including tablet.

Accessible input

MouseKeyboardApple PencilTouchGame controller

Full game-controller navigation is built as an accessible alternative to mouse and touch.

Roadmap

What's next

The next four milestones we're building, in order.

  1. Next up

    Flood fill nodes

    New flood-fill nodes for fast masking and fills.

  2. 2D rendering on the Rust engine

    All 2D rendering moves to the Rust engine.

  3. 1.0.0-beta

    The first public beta release.

  4. Post-processing effects

    Post-processing effects for final output.

Pricing

Free while we build it

Surface Labs is in active development. It's free to download and use during early access.

Now (early access)

Free

Every build, on every platform.

Get on itch.io

At v1.0.0

$10 / platform

Planned price when Surface Labs reaches its 1.0.0 release.