Equirect → Domemaster (fulldome render)
Put your video on a planetarium dome with the Equirect → Domemaster node
- image
- domemaster
Ever seen a show on one of those tilted planetarium domes and wondered how they got the video up there? This node is the last step of that pipeline, and it's genuinely the part that was missing from the ComfyUI ecosystem. You take the equirectangular panorama you outpainted, and Equirect → Domemaster projects it into a domemaster - the standard fulldome delivery format: a square frame with a circular 180° fisheye painted inside it. Feed it to a planetarium's playback software and that's your show.
It comes from Burgstall Labs, whose whole schtick is 360° video outpaint on the LTX Video family. The dome-side rendering lives in this pack; the projection prep (rectilinear-to-equirect, source compositing) lives in its companion, ComfyUI-VR-Outpaint-Tools - you want both. The workflow it's built for: load your flat shot, stretch it to an equirect canvas, let an LTX2.3 VR-outpaint LoRA hallucinate the surroundings, composite the source back in, and finally render the dome. The node ships zero extra dependencies - pure torch, reusing the ComfyUI runtime - so it's an easy last mile.
How it works
There's no model here, no inference, no API. It's a deterministic projection: for every pixel inside the fisheye circle, the node computes the direction on the unit sphere and samples the equirectangular input there. A dome is just a sphere seen from its center, so a 2:1 equirect - your 360°×180° master - maps onto it completely, and everything outside the circle comes out black.
That's the whole job, but it's done thoughtfully. Sampling is wrap-aware, so the equirect's 180° seam (where left and right edges meet) doesn't tear - aim the dome anywhere you like and the geometry stays continuous. The aim puts your original footage at the dome center, exactly where Rectilinear → Equirect placed it, and the outpainted content fills out to the rim. One thing to wrap your head around: the full 360 master renders a complete sphere, but a domemaster only shows the front hemisphere - the back of your world never appears. Not a bug, just the format.
The inputs that actually matter
The rest are set-and-forget, but these three decide how your show looks:
fov_deg- field of view, default and standard is180. Lower zooms into the dome center; higher widens past 180 into territory most venues won't project.dome_tilt- the venue preset.0assumes a flat dome with the video dead overhead.15through30pitch the aim up for tilted theaters, landing your source at the audience's natural forward gaze instead of straight up - pick the value matching your venue.pitch_deg- manual aim on top of the tilt.90gives the classic zenith-centered domemaster with the whole horizon on the rim.yaw_degandroll_degexist for the fiddly cases; leave them at0until you know you need them.
Then size (default 2048, up to 8192) sets the output square; interp picks bilinear or bicubic - leave it on bicubic. The optional input_hfov_deg / input_vfov_deg fields describe how much of the world your input canvas spans, and default to a full 2:1 equirect (360°×180°). Burgstall's recommended dome-only path is smarter: a hemisphere is exactly the center square of an equirect, so you generate at ±90° on both axes, set both spans to 180, and the square boundary maps straight onto the dome rim - no wasted pixels, roughly √2× the angular resolution per axis. The single output, domemaster, is an IMAGE batch you can preview or save frame by frame.
Install
Easiest via ComfyUI Manager - search "Domemaster" - or the manual route:
cd ComfyUI/custom_nodes
git clone https://github.com/Burgstall-labs/ComfyUI-Domemaster-Outpaint
git clone https://github.com/Burgstall-labs/ComfyUI-VR-Outpaint-Tools # companion pack
Restart ComfyUI and the node shows up under 360/dome. No model files, no pip install - the requirements file literally declares it uses ComfyUI's existing torch runtime. One real gotcha: the pack is under the PolyForm Noncommercial License 1.0.0. Personal and research use is free, but commercial fulldome work needs a license from the author ([email protected]). If it's a paying gig, read the LICENSE first.
Where people get tripped up
- "My output is black outside the circle" - correct. That's the domemaster format, not a failed render.
- Aspect warnings in the log - the node checks your input's aspect ratio against the declared angular spans. A 2:1 equirect with
input_hfov_deg=180will warn loudly and misproject. Either use 360°×180° for a full ERP, or set both spans to180for the square-hemisphere path. - Long videos blowing VRAM - the node chunks long batches through the projection so a 1000-frame sequence won't OOM in one pass. Still struggling? Drop
size.
Keep the equirectangular as your master and think of this node as the delivery render - the one thing that turns a 360° experiment into something that actually plays in a dome.
Inputs (13)
| Name | Type | Default | Description |
|---|---|---|---|
| image | IMAGE | — | |
| size | INT | 2048256–8192 | — |
| fov_deg | FLOAT | 18090–250 | Dome field of view. 180 = standard domemaster. |
| dome_tilt | COMBO | 0 (flat dome / video at center) | Creative framing preset for a tilted venue. Adds an upward aim offset; confirm the final orientation against the venue's convention. |
| yaw_deg | FLOAT | 0-180–180 | — |
| pitch_deg | FLOAT | 0-90–90 | Manual aim offset added to dome_tilt. 0 centers the LoRA's source direction; 90 centers the original ERP zenith. |
| roll_deg | FLOAT | 0-180–180 | Rotate the domemaster about its center. |
| interp | COMBO | bicubic | 2 options: bilinear, bicubic |
| input_hfov_degopt | FLOAT | 18090–360 | Angular width of the input. Use 180 for a 1:1 square hemisphere; 360 for a conventional 2:1 full ERP. |
| input_vfov_degopt | FLOAT | 18090–180 | Angular height of the input. A full ERP and square hemisphere normally both use 180. |
| center_crop_2_1opt | BOOLEAN | false | For a 2:1 full ERP, use only its centered 1:1 square as a 180 x 180 degree hemisphere. This overrides the input spans to 180 / 180. |
| batch_sizeopt | INT | 81–256 | Frames rendered per GPU chunk. Lower this if a large video runs out of VRAM; it does not change the result. |
| mirror_xopt | BOOLEAN | false | Mirror left/right for a venue or viewer that expects an outside-dome convention. Leave off for Burgstall VR-Outpaint output. |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| domemaster | IMAGE | — |