Nodes/Jovimetrix/TRANS ROTATE (JOV)
ComfyUI Node

TRANS ROTATE (JOV)

A GPU shader rotation that left the pack in 2.0

By Amorano·Created 3 years ago·Updated 12 months ago· 397
TRANS ROTATE (JOV)
  • 👾
  • PIVOT
  • 🖼️
📐0.00

TRANS ROTATE (JOV) is a GPU shader that rotates an image around a pivot point - and the most important thing to know about it is that it isn't in current Jovimetrix anymore. It's a GLSL node, one of the ~20 hand-written shaders that Jovimetrix used to bundle for "things better done on the GPU (10x speedup in most cases), per the pack's own README. In the 2.0.0 release, every GLSL node migrated out to a separate package called Jovi_GLSL. So if you're staring at this node in a saved workflow and ComfyUI reports it missing, the fix isn't updating Jovimetrix - it's installing the new home.

What it does

Rotating an image is one of those operations that's trivial in principle and annoyingly fiddly in practice: naive rotation crops corners, and rotating about the wrong point ruins composition. TRANS ROTATE keeps it honest with just two controls:

  • 📐 (FLOAT) - the rotation angle. Default 0, and the input steps in 0.01 so you can do fine tweaks. Note the brief shows it as a plain FLOAT, so units are degrees in typical use - a quarter turn is 90.
  • PIVOT (VEC2, default (0.5, 0.5), 0–1) - where the image spins around, in normalized coordinates. (0.5, 0.5) is dead center, which is what you want for a portrait or a texture. (0, 0) rotates around the top-left corner, (1, 1) around the bottom-right - same normalized convention ComfyUI's own crop and transform nodes use.

One image in (👾), one rotated image out (🖼️). Because it runs as a shader on the GPU it's effectively free on a modern card, which is the whole point of the GLSL family - do the pixel math where the pixels live, not in a Python loop.

Getting it installed

Two options:

  • Jovi_GLSL - the current home. Grab https://github.com/Amorano/Jovi_GLSL via ComfyUI Manager or git clone into custom_nodes. This restores TRANS ROTATE and the other migrated shader nodes.
  • Old Jovimetrix - pinning Jovimetrix to a 1.x release keeps the old GLSL nodes in place, but the README explicitly tells you not to stay on old versions if you can avoid it, and you lose years of fixes.

The migration doesn't preserve your old wiring. The README is blunt: "I have no way to migrate the actual connections - you will need to do that manually." So plan to reconnect the two ends after you install Jovi_GLSL.

The honest take

For a one-off rotation, the built-in image transform utilities in ComfyUI or Jovimetrix's own TRANSFORM node do the job without another package. Where TRANS ROTATE earns its keep is in live or batch contexts - feeding a video, a live capture, or a hundred-frame batch through a shader instead of a CPU-side rotate is where the 10x claim actually shows up. If that's not your workflow, skip it. If it is, install Jovi_GLSL, remember the pivot is normalized (0.5 center, not 256 pixels), and you're done. The author (Alexander Morano, u/Joviex on Reddit) still answers issues on all the Jovi_* repos, so a broken shader is worth reporting rather than living with.

CategoryJOVIMETRIX GLSL

Inputs (3)

NameTypeDefaultDescription
👾opt*
📐optFLOAT0.00
PIVOToptVEC20.5,0.50–1

Outputs (1)

NameTypeDescription
🖼️IMAGE