Nodes/ComfyUI-TextureAlchemy/Height Amplifier
ComfyUI Node

Height Amplifier

Making a shallow height map actually displace

By amtarr·Created 9 months ago·Updated 4 months ago· 58
Height Amplifier
  • height_map
  • height
amount2.0
center_point0.50
method

AI depth models and even decent height maps have a chronic problem: they're too shallow. Everything reads as low-relief, like a coin embossed on a flat sheet. You want drama - deep grooves, bold ridges - but a straight contrast boost on a height map wrecks the relationship between high and low areas. This node amplifies the height range while holding a chosen midpoint in place, so you get more displacement without the whole surface sliding up or down. It's the "make my bump map actually bump" node.

The mechanism is centered on center_point, which is the clever bit. The height values are shifted so that the center point becomes zero, the deviation from it is scaled by amount, then the center is added back. So with center_point = 0.5 (the default), mid-gray stays mid-gray, and the contrast on both sides is amplified symmetrically - bumps get higher, dents get deeper, and the average elevation doesn't drift. Move the center and you bias the scale toward one side, which is how you push a map toward "mostly high plateaus" or "mostly valleys."

amount is the intensity: 1.0 is no change, above 1 amplifies, below 1 compresses. It ranges up to 10, which is a lot of latitude - a shallow Marigold depth output can take 3–5 without looking fake, though you'll want to check the result visually. And method changes how the scaling is applied:

  • linear - the direct, predictable stretch; what you reach for first
  • power - a power-curve response that amplifies proportionally, gentler on already-extreme values and punchier in the midtones
  • smooth - an S-curve that clamps the extremes and eases the middle; the one to pick when you want amplification without any clipping at black or white

The output is height, a standard IMAGE, with the input averaged to grayscale first if you fed it RGB (a colorized height map still works, which is a nice tolerance).

Where it fits: the pack's whole premise is AI-extracted materials, and AI depth is notoriously low-contrast. This is the node that takes a Lotus or Marigold depth output and gives it the range a real displacement or parallax map needs. Chain it after extraction, before feeding the height into a PBR pipe, an AO approximator, or a Height to Normal converter - the normal map it feeds will inherit the extra contrast and look far less flat.

It's a one-trick node, but it's a good trick, and it's the difference between a depth map that "kind of works" and a material that actually displaces. No surprises: one input, one output, three knobs.

Install: Manager → search "Texture Alchemy", or:

cd ComfyUI/custom_nodes
git clone https://github.com/amtarr/ComfyUI-TextureAlchemy

Restart, then Texture Alchemist/Height → Height Amplifier. No dependencies, no model files. Shared gotchas: the README's manual-copy step references the pack's pre-rebrand folder name, and if Manager blocks a Git-URL install, that's ComfyUI's security level - clone by hand rather than lowering it.

CategoryTexture Alchemist/Height

Inputs (4)

NameTypeDefaultDescription
height_mapIMAGE
amountFLOAT2.00.1–10Amplification amount (1.0 = no change, >1 = amplify, <1 = compress)
center_pointFLOAT0.500–1Midpoint to preserve
methodCOMBO3 options: power, linear, smooth

Outputs (1)

NameTypeDescription
heightIMAGE