Nodes/Power Noise Suite for ComfyUI/Cross-Hatch Power Fractal 🦚
ComfyUI Node

Cross-Hatch Power Fractal 🦚

Cross-hatch noise with a paint-by-numbers color map

By WASasquatchΒ·Created 3 years agoΒ·Updated 2 years agoΒ· 81
Cross-Hatch Power Fractal 🦚
  • optional_vae
  • ch_settings
  • latents
  • previews
β—„batch_size1β–Ί
β—„width512β–Ί
β—„height512β–Ί
β—„resamplingβ–Ύβ–Ί
β—„frequency320.000β–Ί
β—„octaves12β–Ί
β—„persistence1.500β–Ί
β—„num_colors16β–Ί
β—„color_tolerance0.050β–Ί
β—„angle_degrees45.00β–Ί
β—„brightness0.000β–Ί
β—„contrast0.000β–Ί
β—„blur2.50β–Ί
β—„clamp_min0.00β–Ί
β—„clamp_max1.00β–Ί
β—„seed0β–Ί
β—„deviceβ–Ύβ–Ί

Cross-Hatch Power Fractal is the colored, posterized cousin of the Linear Cross-Hatch node in this pack. It also generates hatching - dense angled line patterns layered into a fractal - but where the linear version shades continuously, this one quantizes the pattern down to a small palette of flat colors, like an engraving that's been turned into a paint-by-numbers. You get bold, graphic, stained-glass-ish noise, and as a latent it's a great way to force strong blocky color structure into a generation.

The mechanics come straight from CrossHatchPowerFractal in the pack's latent_noise.py. Each octave draws the hatched pattern at a different frequency - frequency sets the base line density, octaves stacks finer layers on top - then the result is mapped to num_colors discrete shades, with color_tolerance controlling how strictly values snap to the nearest shade. angle_degrees rotates the hatching (45Β° default, the engraving diagonal), blur softens the edges between regions, and brightness/contrast are your tonal trims. The output is generated as an RGBA tensor and downscaled to latent size with your chosen resampling.

Inputs that matter

  • num_colors - how few colors. Low (4–8) gives chunky posterized regions; 256 is effectively continuous.
  • color_tolerance - how clean the color boundaries are. High tolerance = hard, crisp regions; low = muddy transitions.
  • angle_degrees - direction of the hatching. 0 vs 90 changes the whole feel.
  • frequency / octaves - line density and fractal detail. Default 320 / 12 is a strong look; back it off for subtlety.
  • blur - soften the boundaries if the posterization is too harsh.
  • resampling - how the pattern is shrunk to latent size; area and bilinear smooth it, nearest-exact keeps edges crisp.

optional_vae and ch_settings complete the list. Leave optional_vae empty unless you specifically want a real VAE encode (slower, and it changes the character). ch_settings accepts a Cross-Hatch Power Fractal Settings node so you can drive this standalone node from the same settings object you hand to the Power KSampler Advanced - that's the intended workflow for "tune once, use everywhere."

Outputs: latents (seed your sampler) and previews (an IMAGE so you can actually see the hatching).

Where it fits

The look this gives you is graphic and deliberate. At low denoise, the blocky color regions become composition - think stylized, poster-art, cel-shaded-leaning results - and the hatching adds a texture plain prompt language can't reliably hit. It's also a genuinely fun texture generator on its own; composite it with Blend Latents if you want the pattern as an element rather than the whole seed.

Install

It ships in Power Noise Suite, so install the pack once. ComfyUI Manager β†’ search "Power Noise Suite", or:

cd ComfyUI/custom_nodes
git clone https://github.com/WASasquatch/PowerNoiseSuite

Restart. No downloads, no models; the only dependency is torch, already present.

Gotchas

Two reminders. The output is colored noise by design - the palette is mapped internally, not something you choose directly, so if the colors clash with your prompt, reach for num_colors and color_tolerance to reshape them. And as with every node here, what you feed the sampler is raw latent noise: the hatching steers structure, it won't render as literal engraved lines in the final image. If you wanted actual hatching in the output, generate the pattern as an image and composite it after sampling instead.

CategoryPower Noise Suite/Noise

Inputs (19)

NameTypeDefaultDescription
batch_sizeINT11–64β€”
widthINT51264–8192β€”
heightINT51264–8192β€”
resamplingCOMBO5 options: nearest-exact, bilinear, area, bicubic, bislerp
frequencyFLOAT320.0000.001–1024β€”
octavesINT121–32β€”
persistenceFLOAT1.5000.001–2β€”
num_colorsINT162–256β€”
color_toleranceFLOAT0.0500.001–1β€”
angle_degreesFLOAT45.000–360β€”
brightnessFLOAT0.000-1–1β€”
contrastFLOAT0.000-1–1β€”
blurFLOAT2.500–1024β€”
clamp_minFLOAT0.00-10–10β€”
clamp_maxFLOAT1.00-10–10β€”
seedINT00–18446744073709550000β€”
deviceCOMBO2 options: cpu, cuda
optional_vaeoptVAEβ€”
ch_settingsoptCH_SETTINGSβ€”

Outputs (2)

NameTypeDescription
latentsLATENTβ€”
previewsIMAGEβ€”