Sharp Panorama Cube Split
The WorldStereo-shaped way to cut a panorama
- panorama
- face_images
- extrinsics
- intrinsics
- fov_x_deg
- num_faces
This is the pack's second way to cut a 360° panorama into perspective crops for SHARP, and it's a genuinely different tool from SamplePanorama rather than a redundant one. Where SamplePanorama gives you a generic FOV/overlap grid, this node's crop geometry is deliberately matched to WorldStereo conventions - specific defaults for view size, field of view, yaw spacing, and pitch bands, all called out explicitly in the node's own tooltips as "matching WorldStereo's anchor width/height/FOV." Reach for this one specifically when you're trying to stay compatible with a WorldStereo-based workflow, not just when you want "a" panorama split.
How it works
With its defaults, the math works out to a fixed 27-view pattern: rot_deg at 40° gives 9 yaw positions per pitch band, times 3 pitch bands (level, pitch_up, pitch_down) = 27 total crops. Every default value here - 832×480 crop size, 120°×90° FOV, 40° yaw step, ±0.5 pitch - is called out in its own tooltip as matching a specific upstream convention rather than being an arbitrary starting point, so changing them deliberately breaks that compatibility rather than just tuning quality.
One quirk worth knowing before you build a batch workflow around it: the panorama input's tooltip states plainly that only the first image of a batch is used. Feed it a batch of several panoramas expecting it to process all of them, and it'll silently only touch the first - not an error, just not what a "batch" input usually implies.
The inputs and outputs that matter
- panorama (required) - equirectangular RGB, 2:1 aspect,
[B, H, W, 3]. Only image 0 of the batch is used. - image_w / image_h (default 832 / 480) - crop resolution, matching WorldStereo's anchor size.
- fov_x_deg / fov_y_deg (default 120 / 90) - horizontal/vertical field of view per crop, matching WorldStereo upstream.
- rot_deg (default 40) - yaw step between adjacent views; 40° yields 9 views per pitch band.
- pitch_up / pitch_down (default 0.5 / -0.5) - Z-component of the look-at targets for the upper and lower hemisphere bands.
Outputs: face_images, extrinsics, intrinsics (per crop, ready for a Predict node or the depth-alignment pipeline), fov_x_deg (echoed back out - handy if a downstream node needs it without rewiring a constant), and num_faces.
Installing it
Same pack: Manager search "Sharp" (highest version, nightly if that build's flaky), Manager → Git URL https://github.com/PozzettiAndrea/ComfyUI-Sharp.git, or manual clone + pip install -r requirements.txt --upgrade + python install.py, restart.
Common issues
The batch limitation above is the one to know before you hit it, since it fails silently rather than loudly - if a multi-panorama batch workflow only ever seems to produce results from one input, this is why. Beyond that, this feeds directly into the same panorama pipeline as SamplePanorama (AlignDepthMaps → ProjectDepthToPanorama → SharpPredictGaussiansFromMetricDepth → MergeGaussians), so the usual caution applies: keep depth_convention correct downstream, since per-face crops from either split node feed depth in the equirect ray-distance sense once they've been through ProjectDepthToPanorama and back.
Inputs (8)
| Name | Type | Default | Description |
|---|---|---|---|
| panorama | IMAGE | Equirectangular RGB panorama, 2:1 aspect. [B, H, W, 3] or [H, W, 3] in [0, 1]. First image of batch is used. | |
| image_w | INT | 832224–2048 | Crop width. 832 matches WorldStereo's anchor width. |
| image_h | INT | 480224–2048 | Crop height. 480 matches WorldStereo's anchor height. |
| fov_x_deg | FLOAT | 12030–170 | Horizontal FOV. 120 matches WorldStereo upstream. |
| fov_y_deg | FLOAT | 9030–170 | Vertical FOV. 90 matches WorldStereo upstream. |
| rot_deg | FLOAT | 4010–120 | Yaw step between adjacent views. 40 -> 9 views per pitch -> 27 total at 3 pitches. |
| pitch_up | FLOAT | 0.500–1 | Z component of the upper-hemisphere look-at targets. 0.5 matches WorldStereo upstream. |
| pitch_down | FLOAT | -0.50-1–0 | Z component of the lower-hemisphere look-at targets. -0.5 matches WorldStereo upstream. |
Outputs (5)
| Name | Type | Description |
|---|---|---|
| face_images | IMAGE | — |
| extrinsics | EXTRINSICS | — |
| intrinsics | INTRINSICS | — |
| fov_x_deg | FLOAT | — |
| num_faces | INT | — |