Browser-based 3D texture painter & PBR material editor built with three.js

Hey all

I’ve been building Mixos (https://mixos.io) — a 3D texture painter and
PBR material editor that runs entirely in the browser, no install. three.js
drives the whole viewport and the painting pipeline sits on top of it.

Some three.js-specific things that were fun/hard to figure out:

  • Painting directly onto meshes via UV-space raycasting, then writing back
    into texture layers in real time
  • A layer-based PBR compositor feeding custom materials (albedo, roughness,
    metalness, normal, height) into the three.js render loop
  • Round-tripping imported GLB/USD models and re-exporting textures for
    Blender / Unreal / C4D
  • Pushing the renderer with WebGPU for the heavier compositing work while
    keeping the three.js scene graph as the source of truth

Think of it as a browser-native take on Substance Painter, built on top of
the library you all know well. Would love feedback from this community
specifically, you know exactly where the hard edges are.

Happy to go deep on any of the three.js / material / raycasting internals.

1 Like