Nodes/atlas-camera/Atlas Viewport 🧊
ComfyUI Node

Atlas Viewport 🧊

A ComfyUI node in Atlas/08 Β· Look & Render with 13 inputs and 15 outputs.

By mikejamesvfxΒ·Created 2 months agoΒ·Updated about 23 hours agoΒ· 1
Atlas Viewport 🧊
  • solve
  • source_image
  • primary_depth
  • controls
  • shot_cam
  • output_profile
  • debug_matte
  • patch_mask
  • clean_plate
  • shaded
  • depth
  • normal
  • mask
  • path_frames
  • camera_path
  • patch_azimuth_view
  • patch_elevation_view
  • patch_distance
  • patch_prompt
  • patch_exact
  • patch_render_mask
  • solve
  • drawn_mask
  • draw_report
β—„resolution1024β–Ί
β—„client_dataβ–Ί
β—„preview_expand1.00β–Ί
β—„drawn_fill_px96β–Ί
CategoryAtlas/08 Β· Look & Render

Inputs (13)

NameTypeDefaultDescription
solveATLAS_SOLVEβ€”
source_imageIMAGEβ€”
resolutionINT1024128–8192Long-edge render resolution; the short side auto-follows the source image aspect (viewport inherits the image's aspect). Also settable by dragging the node's own resize handle.
client_dataSTRINGβ€”
primary_depthoptATLAS_DEPTH_MAPOptional depth map matching the source image AND the depth object used to derive the displayed relief mesh. Do not pair a DCC retopo preview regenerated with another depth model. Used by the viewport to power the ray-traced occlusion culling feature (βœ‚ Occlude).
preview_expandoptFLOAT1.001–5Dilate derived geometry outward from the camera for wider orbit coverage before it disappears into unreconstructed space. 1.0 = off (accurate geometry). Display only β€” never affects DCC exports or measured geometry. CAUTION: values above 1.0 dilate geometry beyond what the camera actually photographed, so with πŸ“½ Project active the dilated fringe has no real photo data and renders as empty/black the moment you orbit off the exact recovered viewpoint β€” leave at 1.0 if you plan to use Project, raise it only for inspecting undressed blockout shapes.
controlsoptATLAS_VIEWPORT_LINKConnect an AtlasViewportControls node here to move all buttons/panels off this node (perspective-only, freely resizable). Carries no real data β€” Python ignores it; the link only lets the two nodes' frontend JS find each other.
shot_camoptATLAS_SHOT_CAMOptional project/shot camera format (AtlasDefineShotCam) β€” conforms the render resolution/aspect and viewing-camera FOV to this format instead of auto-following source_image's own aspect. A direct wire here wins over one attached to `solve` by AtlasMergeGeometry. Never affects how the source photo is projected onto geometry.
output_profileoptATLAS_OUTPUT_PROFILEOptional OCIO-style output/profile metadata from AtlasViewportControls. Browser preview remains display-inferred/proxy; final fidelity belongs to OCIO Write, Nuke, Maya, or Resolve.
debug_matteoptMASK🎭 Optional debug isolate (e.g. a layer's SAM3 mask, source-image space): under πŸ“½ Project the viewport dims everything whose primary-camera projection falls OUTSIDE this matte (🎭 toolbar toggle + dim slider; dim 0 = hard cull). Display-only β€” never affects exports, geometry, or the projection itself.
patch_maskoptMASKSource-image-space created_islands mask from AtlasPlanarHolePatch. Under 🎨 Layers the generated patches receive their own magenta identity color. Render Proxy Passes reprojects the same pixels from the current moved camera and returns patch_render_mask for inpainting.
drawn_fill_pxoptINT960–512Fill drawn surfaces (✏️ Draw / β–£ Box / ● Sphere) by smearing the surrounding plate colours across their footprint, the same deterministic edge-extend the clean-plate path uses. They stand where the camera never saw, so the raw plate would paint them with whatever occluded them. 0 = off (leave the raw projection and route `drawn_mask` to a real inpaint instead).
clean_plateoptIMAGEOptional clean plate β€” the BACKGROUND layer of a layered composite: the projection_backdrop plane and any solve_b geometry merged in by AtlasMergeGeometry project THIS image, so tears in the foreground reveal the clean background through the same registered projector. Drawn/wand fills patch the foreground's own tears and keep the drawn_fill_px smear.

Outputs (15)

NameTypeDescription
shadedIMAGEβ€”
depthIMAGEβ€”
normalIMAGEβ€”
maskIMAGEβ€”
path_framesIMAGEβ€”
camera_pathATLAS_CAMERA_PATHβ€”
patch_azimuth_viewSTRINGβ€”
patch_elevation_viewSTRINGβ€”
patch_distanceSTRINGβ€”
patch_promptSTRINGβ€”
patch_exactSTRINGβ€”
patch_render_maskMASKβ€”
solveATLAS_SOLVEβ€”
drawn_maskMASKβ€”
draw_reportSTRINGβ€”