Nodes/Jovimetrix/GLSL (JOV) 🍩
ComfyUI Node

GLSL (JOV) 🍩

The shader node that left the building β€” here's where it lives now

By AmoranoΒ·Created 3 years agoΒ·Updated 12 months agoΒ· 396
GLSL (JOV) 🍩
  • πŸ‘Ύ
  • πŸ‡ΌπŸ‡­
  • πŸ–ΌοΈ
β—„πŸ•›0.0000β–Ί
β—„πŸŽοΈ0β–Ί
β—„BATCH1β–Ί
β—„βœ‹πŸ½falseβ–Ί
β—„RESETfalseβ–Ί
β—„FRAGMENTuniform vec3 alex; // 1.0β–Ί
β—„PARAMβ–Ί

GLSL (JOV) 🍩 was the raw shader node of Jovimetrix's procedural-magic era: you pasted a fragment shader into it, and it ran your GLSL on the GPU and handed back an image. That's the whole fantasy - write shader code, get real-time visuals, no API, no key, no cloud. It was the do-it-yourself heart of the pack's "procedural masking and live composition" pitch.

But here's the situation you actually need to know: this node no longer ships in Jovimetrix. It was one of the big removals in the 2.0.0 rework (April 2025), and the README says so explicitly under "AS OF VERSION 2.0.0, THESE NODES HAVE MIGRATED TO OTHER, SMALLER PACKAGES." All GLSL work moved to a dedicated repository: Amorano/Jovi_GLSL. That's where the GLSL node, the dynamic GLSL loader, and 20+ handwritten shader nodes live today. If you landed on this page because a workflow is missing GLSL (JOV) 🍩, this is why.

What the node did

Its inputs sketch the idea well:

  • FRAGMENT - the shader source itself (a multiline string; the default is a stub with a uniform vec3).
  • PARAM - a string for feeding extra parameters/uniforms into the shader.
  • πŸ‘Ύ - an input image, so the shader could operate on something rather than purely synthesize.
  • πŸ•› - a time value (float), for animated shaders; 🏎️ - an integer counter.
  • BATCH - how many frames to render in one go (up to 36000, i.e. batch rendering for animation).
  • βœ‹πŸ½ (a hold/engage toggle) and RESET - workflow controls.
  • πŸ‡ΌπŸ‡­ - output resolution (default 512Γ—512).

Output was πŸ–ΌοΈ IMAGE (list-shaped). The workflow pattern was: write shader, wire time in, batch a bunch of frames out, and you've generated a procedural animation with no diffusion involved.

Installing the successor

Don't install Jovimetrix for this. Install Jovi_GLSL instead:

# ComfyUI Manager: search "Jovi_GLSL" and install
# or manually:
cd ComfyUI/custom_nodes
git clone https://github.com/Amorano/Jovi_GLSL.git
cd Jovi_GLSL
pip install -r requirements.txt

Restart ComfyUI. Jovi_GLSL is built on the same cozy_comfyui base as Jovimetrix and adds dynamic GLSL - it can compile existing .glsl/.frag files into ComfyUI nodes at load time, which is a big upgrade over pasting one shader into one node.

Troubleshooting

  • "GLSL (JOV)" missing after a Jovimetrix update - expected, it's migrated. Get Jovi_GLSL; don't try to force the old pack back.
  • Shader renders black / errors - GLSL is picky about version directives and uniforms. Start with the pack's own examples and add complexity slowly.
  • Slow renders on CPU - check that your GLSL is actually hitting the GPU (Jovi_GLSL targets GPU execution; a fallback to CPU would explain the crawl).

One more heads-up: the same 2.0 rework moved MIDI (Jovi_MIDI), webcam/stream capture (Jovi_Capture), and Spout (Jovi_Spout) out of Jovimetrix into their own packs. If you're a Jovimetrix fan, the "pack" is now a family - and GLSL is the Jovi_GLSL sibling.

CategoryJOVIMETRIX πŸ”ΊπŸŸ©πŸ”΅/CREATE

Inputs (9)

NameTypeDefaultDescription
πŸ‘Ύopt*β€”
πŸ•›optFLOAT0.0000β€”
🏎️optINT00–1000β€”
BATCHoptINT11–36000β€”
βœ‹πŸ½optBOOLEANfalseβ€”
RESEToptBOOLEANfalseβ€”
πŸ‡ΌπŸ‡­optVEC2512,512β€”
FRAGMENToptSTRINGuniform vec3 alex; // 1.0β€”
PARAMoptSTRINGβ€”

Outputs (1)

NameTypeDescription
πŸ–ΌοΈIMAGEβ€”