Nodes/comfyui_bmad_nodes/RemapToInnerCylinder
ComfyUI Node Runs on cloud

RemapToInnerCylinder

Wrap a flat image around the inside of a cylinder — your wide-lens room view

By bmad4ever·Created 3 years ago·Updated 9 months ago· 70
RemapToInnerCylinder
    • REMAP
    fov90
    swap_xyfalse

    Picture standing inside a giant cylinder with the image painted on the curved wall all around you - that's the view this node produces. It wraps a flat image onto the inside of a cylinder and projects it back to a flat plane, which gives the image that sweeping, wide-angle "inside the cylinder" bow. The companion node RemapToOuterCylinder does the same thing from the outside (image painted on the cylinder's exterior). Together they're the 3D-projection end of the pack's Remap family, and unlike the parabola nodes, no mask drawing is required - two numbers do everything.

    Same family pattern: it's a REMAP generator. RemapToInnerCylinder → Remap → image.

    How it works

    The projection is governed by a single concept you already know from cameras: field of view (fov). The node projects the flat image onto the inner surface of a cylinder and views it from the cylinder's axis - the fov input (1–179 degrees, default 90) sets how much of that cylinder the projection covers. A low fov sees a narrow slice of the curved wall (subtle bow); a high fov sees a huge sweep (dramatic curvature, edges strongly bent). Because the inside of a cylinder curves away from the viewer at the edges, the image gets compressed and bowed at its sides - that's the effect.

    The swap_xy toggle (BOOLEAN) rotates the projection 90°, so instead of the image bowing left-to-right, it bows top-to-bottom. Handy when your content is portrait-oriented or you want the curvature along the other axis.

    The inputs

    • fov (1–179, default 90) - the angular coverage of the projection.
    • swap_xy (BOOLEAN, default false) - axis swap.

    Output: REMAP.

    Where you'd reach for it

    The classic use is the "inside the cylinder" establishing shot - a panorama or wide image made to look like it's being viewed from within a curved space. It's also the natural base for text-wrap illusions: render text, wrap it to the inner cylinder, and it reads like it's printed on the inside of a dome or bottle. And it's a great way to fake wide-angle lens behavior on a flat image when you want the bowed, immersive look without a fisheye lens or model.

    Installing it

    cd ComfyUI/custom_nodes
    git clone https://github.com/bmad4ever/comfyui_bmad_nodes
    

    restart, or grab comfyui_bmad_nodes via ComfyUI Manager. OpenCV requirement covers it; no model downloads.

    The honest caveat

    The fov range stops at 179, and near that limit the curvature is extreme - the edges of the image get crushed into a sliver and you'll want to crop aggressively. A subtle, believable result is usually fov 90–120. Also, since the projection compresses the edges, the Remap node's interpolation setting matters more here than in the simpler distortions - stick with INTER_AREA (its default) for the compression-heavy edge regions. And remember the golden rule of the family: tweak the generator, then the Remap node re-applies - the preview is only as fresh as the last execution.

    CategoryBmad/CV/Transform

    Inputs (2)

    NameTypeDefaultDescription
    fovINT901–179
    swap_xyBOOLEANfalse

    Outputs (1)

    NameTypeDescription
    REMAPREMAP