Merge Cubemap Depth
Stitch RGB and depth back into one cubemap when you split them
- cubemap_rgb
- cubemap_depth
- CUBEMAP
Merge Cubemap Depth recombines two cubemaps - one carrying RGB, one carrying depth - into a single cubemap that has both. It exists because DreamCube's design lets you work the two branches separately, and if you've done that, this is how you put the split back together before converting to a panorama.
When would you split them in the first place? The realistic case is a manual pipeline where you extracted a depth-viewable cubemap with Extract Depth Channel, edited or regenerated that depth on its own (through another depth pass, or a normalizing step), and now want the result married back to your original RGB cubemap. Batch Cubemap Depth already produces a combined RGBD cubemap in one shot - you only need this node when you deliberately kept the two apart and want to rejoin them without losing either.
The mechanism is honest and strict: for each of the six faces it copies the RGB data from the first cubemap and the depth from the second, into a fresh structure. No blending, no normalization, no judgment. What it does check is that the two cubemaps are the same resolution, and that every face has data in both - otherwise it errors rather than silently producing holes.
Inputs and outputs
cubemap_rgb- a cubemap with its six RGB faces.cubemap_depth- a cubemap with its six depth faces.
Output is a CUBEMAP with RGB and depth combined, which you can then send to Cubemap to Equirect (the rgbd output type renders both) or run consistency passes on.
How to install it
ComfyUI Manager, search "DreamCube", install, restart. Or:
cd ComfyUI/custom_nodes
git clone https://github.com/cedarconnor/ComfyUI-DreamCube.git
cd ComfyUI-DreamCube
pip install -r requirements.txt
No downloads, no keys, no models. Pure local tensor wrangling.
Gotchas
Resolutions must match - an RGB cubemap at 1024 merged with a depth cubemap at 512 throws a must have same resolution error before it does anything. That's a feature, honestly: it stops you from merging mismatched data. Also watch the direction: the node expects an RGB cubemap and a depth cubemap, not two depth cubemaps and not two RGB cubemaps. If you fed Extract Depth Channel into both inputs you've just merged two depth images into a "depth" cubemap and gotten exactly the nonsense you deserve - check your wiring.
Inputs (2)
| Name | Type | Default | Description |
|---|---|---|---|
| cubemap_rgb | CUBEMAP | — | |
| cubemap_depth | CUBEMAP | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| CUBEMAP | CUBEMAP | — |