Nodes/ComfyUI-Leputen-Utils/DeepBump Color to Normal
ComfyUI Node

DeepBump Color to Normal

AI normal maps from flat textures — DeepBump, now a node

By lilquail·Created 9 months ago·Updated 9 months ago· 1
DeepBump Color to Normal
  • image
  • IMAGE
overlapLARGE

Hand-deriving a normal map from a flat albedo texture is a genuinely annoying job, and the traditional answer - a grayscale-from-luminance pass into a Sobel filter - produces normals that look like they were carved from the texture's brightness instead of its actual surface. DeepBump Color to Normal is the AI alternative: it runs the DeepBump model, which was originally a standalone app/GIMP plugin for exactly this job, and generates a plausible normal map straight from the color image.

It works best on tiling textures, which is the main case you want it for - texture libraries and game assets. For non-tiling, photographic images it's less impressive; don't expect miracles on a portrait.

How it works

The node calls into the DeepBump-dml library that the pack clones into vendor/DeepBump on first startup. The model runs under ONNX Runtime, processing the image in 256px tiles so it doesn't need a ton of VRAM. The overlap input (SMALL/MEDIUM/LARGE, default LARGE) controls how much adjacent tiles overlap when blending - LARGE gives smoother results with fewer tile seams, at the cost of more compute. On Windows it can use DirectML for GPU acceleration; otherwise it falls back to CPU, which is slow enough that you'll notice.

The output is a standard IMAGE normal map in the same size as the input.

Inputs and outputs

Just two required inputs:

  • image - the color/albedo texture.
  • overlap - SMALL/MEDIUM/LARGE tile blending.

One IMAGE output - wire it to a saver, a Normal Map Converter (if your engine wants OpenGL Y+), or a strength/normalize node.

Install

Part of ComfyUI-Leputen-Utils, with an extra moving part:

cd ComfyUI/custom_nodes
git clone https://github.com/lilquail/ComfyUI-Leputen-Utils

On first startup the pack auto-clones https://github.com/lilquail/DeepBump-dml into vendor/DeepBump and installs onnxruntime. If you want GPU acceleration on Windows, add:

pip install onnxruntime-directml

Then restart. Node lives under Leputen-Utils → DeepBump.

Troubleshooting

  • "DeepBump modules not found" - the clone didn't happen (usually git not on PATH or an interrupted first run). Clone manually: cd custom_nodes/ComfyUI-Leputen-Utils && git clone https://github.com/lilquail/DeepBump-dml.git vendor/DeepBump.
  • CPU-only slog - on Windows, install onnxruntime-directml; the pack logs which provider is active at startup (GPU acceleration enabled via DirectML), so you can confirm it took.
  • Tile seams in the result - bump overlap to LARGE. It's slower but that's what it's for.
  • Works on tiling, falls apart otherwise - by design. The model is trained on texture-style inputs.

Two honest caveats. First, DeepBump is GPLv3 (cloned separately, not bundled), so it's fine for your own work but be aware of the license if this feeds a commercial tool. Second, AI normals are plausible, not accurate - for a hero asset you'll still want to hand-fix the result or compare against a real geometry bake.

CategoryLeputen-Utils/DeepBump

Inputs (2)

NameTypeDefaultDescription
imageIMAGEThe input color image (albedo/diffuse texture) from which to generate a normal map.
overlapCOMBOLARGEControls tile blending. LARGE produces smoother results but is slower.

Outputs (1)

NameTypeDescription
IMAGEIMAGE