Skip to content

About

PBR texture painter: paint, bake mesh maps and design materials with a node graph. Rust + wgpu.

Resources

Contributing

Stars

76 stars

Watchers

1 watching

Forks

Repository files navigation

Material Painter

Smart materials painted in Material Painter

Support Material Painter on Ko-fi   Download   Join the Discord

Material Painter is free and open source. If it saves you time, buy me a coffee on Ko-fi to keep it going.

A fast, lightweight PBR texture painter for game and film assets: paint materials onto 3D models with layers, smart materials and masks, bake mesh maps, build materials in a node graph and write your own node shaders.

Material Designer: a node graph next to the material on the mesh

Early access. Material Painter works and is in daily use, but it is young: expect rough edges, and please report what you find.

Features

  • Material Paint: a layer stack with paint, fill and folder layers, blend modes and opacity; brushes with tips, grain, pen pressure, stabilizer, symmetry and screen, surface or UV projection; polygon fill by triangle, quad, loose part, object or UV island.
  • Smart materials and masks: dozens of ready-made materials, smart mask generators (edge wear, dirt, dust, rain streaks, drips, cavity grime...), mask layers with blend modes, and mask filters (levels, blur, warp, noise breakup...).
  • Mesh map baking: ambient occlusion, curvature, cavity, thickness, normal and height from a high poly, position, world normal, ID and more, with cages and match-by-name. Custom bake maps add what happens around the model: fluid flow from any direction, wind exposure and erosion, sand and snow drifts, contact between parts and distance from a point.
  • Material Designer: a node graph of tileable textures that drives fill layers and masks, with live previews and a 3D view of the result.
  • Shader Maker: write custom nodes in WGSL with syntax highlighting, a live preview and compiler errors pointing at your lines.
  • Export: presets for Unreal, Unity (URP, HDRP, Built-in), Godot, glTF, Roblox and Blender, or your own channel packing; PNG, TIFF, TGA, JPEG and EXR at 8, 16 or 32 bits.
  • Preview shaders: build the 3D view's look as a node graph (toon, clay, unlit, rim light, or your own) and texture with it; shading nodes read the painted channels, baked maps and lighting, and custom ones are plain WGSL like any node.
  • Path tool: place points on the mesh or the UV map and lay the brush evenly along the curve, for clean stitches, seams and panel lines.
  • Asset library: about 2,900 free CC0 materials from Poly Haven and ambientCG, one click from the shelf, plus a community library of material graphs and nodes that users share from inside the app. Downloads are plain image files with a meta.json, so nothing is locked into Material Painter.
  • Open Substance 3D Painter projects (.spp): the model, the final look of base color, roughness, metallic and height, and as much of the layer stack as maps onto Material Painter's layers. Procedural materials, brush strokes and Painter-only channels don't come across; the import report says exactly what did. Details and limits: docs/substance-painter-import.md.
  • Docking workspaces, path-traced preview, HDRI lighting, and an MCP server so AI agents can drive the app (off by default).
Material Paint Shader Maker
Painting workspace Shader Maker

Ready-made material graphs

Download

Ready-to-run builds are on the releases page, all free; donations on Ko-fi fund development.

  • Windows: the installer, or the zip to unpack and run.
  • Linux: the tarball. Unpack it, run ./material-painter, and optionally ./install.sh to add it to your app menu.

Requirements: 64-bit Windows 10 or 11, or Linux (x64, glibc 2.35 or newer: Ubuntu 22.04, Fedora 36, Debian 12 and later), and a GPU with DirectX 12 or Vulkan support (most cards from 2016 on). 8 GB of video memory is comfortable for 4K texture sets.

Building from source

Install Rust (stable), then:

git clone https://github.com/alla2001/material-painter
cd material-painter
cargo run --release

cargo test runs the unit tests. The GPU tests render offscreen (no window) and write images to target/bake_test/:

cargo test --bin material_painter -- --ignored --test-threads 1

Community

Questions, renders and shared materials: join the Discord. Bugs and feature requests are welcome there or as GitHub issues.

Want to help build it? See CONTRIBUTING.md (AI-assisted contributions are welcome; AGENTS.md is the guide for coding agents).

If Material Painter is useful to you, a donation keeps development going:

Support Material Painter on Ko-fi

License

Material Painter is free software under the GNU General Public License, version 3 or later.

Third-party code is listed with its licenses in THIRD_PARTY_NOTICES.html. The bundled HDRIs and PBR textures are from Poly Haven (CC0), and the icons are Phosphor (MIT).

Reading Substance 3D Painter projects is adapted from SubCraft by Aalzard and the SubCraft contributors (MIT), in src/spp with its license. Material Painter is not affiliated with or endorsed by Adobe; Substance 3D Painter is a trademark of Adobe.

About

PBR texture painter: paint, bake mesh maps and design materials with a node graph. Rust + wgpu.

Resources

Contributing

Stars

76 stars

Watchers

1 watching

Forks

Releases

Sponsor this project

Packages

Contributors

Languages