MeshColor vs BumpMesh
Both tools add surface detail to a 3D model in the browser, and they are routinely confused for each other. They do opposite things. BumpMesh changes the shape of the model so the texture is physically there. MeshColor changes the color of the surface so the model prints in several filaments. If you want a print that is both textured and multicolor, you use both.
The short version
| BumpMesh | MeshColor | |
|---|---|---|
| What it changes | Geometry — the surface is displaced in and out | Color — the surface keeps its shape, triangles get filaments |
| Colors in the result | One | As many as your printer has loaded |
| You can feel it | Yes — real relief | No — the print is smooth, the pattern is color |
| Printer needed | Any FDM printer | Multi-material: AMS, AMS lite, or a toolchanger |
| Output | A displaced mesh | A multicolor 3MF for Bambu Studio / OrcaSlicer |
What BumpMesh does
BumpMesh takes a grayscale texture and pushes the model's surface along its normals — bright pixels out, dark pixels in. The mesh that comes back is genuinely bumpy, so a knurled grip is grippy and a leather grain catches the light the way leather does. Because the detail lives in the geometry, it survives at any color, prints on a single extruder, and costs nothing but triangles.
The limit is that displacement can only ever be one color, and its resolution is bounded by your layer height and nozzle width. Fine detail below roughly a nozzle diameter simply gets smoothed away by the extrusion.
What MeshColor does
MeshColor never moves a vertex outward. It subdivides the mesh where it needs the resolution, decides which filament each triangle should print in, and writes that assignment into a 3MF. A wood-grain layer becomes bands of two or three filaments following the grain; a logo becomes a crisp multicolor decal wrapped around whatever curved surface you put it on. The printed part is as smooth as the original model — the detail is entirely in the color.
Because the color is per-triangle rather than per-layer, MeshColor can hold detail finer than a layer height in the XY plane, which is exactly where displacement struggles. It goes the other way too: it cannot give you anything you can feel.
Using both on one model
They compose cleanly, and the order matters:
- Displace first. Run the model through BumpMesh to get the physical relief you want. Export the displaced mesh as an STL or 3MF.
- Color second. Load that displaced mesh into MeshColor and add your logo, lettering or color pattern on top of it. MeshColor projects onto the surface as it finds it, so it follows the new relief rather than the original smooth shape.
- Slice the 3MF. Open the exported file in Bambu Studio or OrcaSlicer. The filament assignments come through with it.
Doing it the other way round doesn't work: a displacement pass rebuilds the mesh, and any per-triangle color assigned beforehand is lost with the triangles it was attached to.
Which one do you actually need?
- A textured single-color part — a grip, a stippled enclosure, a fabric-look panel: BumpMesh alone.
- A logo, label or graphic in more than one color — a nameplate, a branded lid, a game token: MeshColor alone.
- A wood-look or stone-look surface: either, and they look different. BumpMesh gives you the roughness; MeshColor gives you the grain pattern in two or three filaments. Together they read as the real material far better than either does alone.
- No AMS or toolchanger: BumpMesh. A MeshColor texture puts several colors on nearly every layer, so a single-extruder printer would need a filament change on almost every one.
MeshColor is free and runs entirely in your browser.
Load an STL or 3MF, add a texture or logo layer, and export a
multicolor 3MF. Nothing is uploaded — the page is served with
connect-src 'none', so the browser blocks every outbound
request it could make.
Related
- MeshColor vs HueForge and Chroma Canvas — 3D model color versus filament painting on flat images.
- Adding textures to a model for Bambu Studio — where the slicer's own tools stop, and what to do instead.