< Previous | Contents | Next >
By using Render nodes to compute the disparity first, the later processing of the creative operations can be a much faster and interactive experience.
Although not shown in the above diagram, it is usually a good idea to color correct the right eye to be similar to the left eye before disparity generation, as this helps with the disparity-tracking algorithm. The color matching does not need to be perfect—for example, it can be accomplished using the “Match” option in a Color Corrector’s histogram options.
About the Disparity Channel
The Disparity channel stores the displacement vectors that match pixels in one eye to the other eye. The left image’s Disparity channel will contain vectors that map left>right and the right image’s Disparity channel will contain vectors that map right>left. For example:
(xleft, yleft) + (Dleft. x, Dleft. y) -> (xright, yright) (xright, yright) + (Dright. x, Dright. y) -> (xleft, yleft)
NOTE: Disparity stores both X and Y values because rarely are left/right images perfectly registered in Y, even when taken through a carefully set up camera rig.
NOTE: Disparity stores both X and Y values because rarely are left/right images perfectly registered in Y, even when taken through a carefully set up camera rig.
NOTE: Disparity stores both X and Y values because rarely are left/right images perfectly registered in Y, even when taken through a carefully set up camera rig.
You would expect for non-occluded pixels that Dleft = -Dright, although, due to the disparity generation algorithm, this is only an approximate equality.
Both Disparity and Optical Flow values are stored as un-normalized pixel shifts. In particular, note that this breaks from Fusion’s resolution-independent convention. After much consideration, this convention was chosen so the user wouldn’t have to worry about rescaling the Disparity/Flow values when cropping an image or working out scale factors when importing/exporting these channels to other applications. Because the Flow and Disparity channels store things in pixel shifts, this can cause problems with Proxy and AutoProxy. Fusion follows the convention that, for proxied images, these channels store unscaled pixel shifts valid for the full-sized image. So if you wish to access the Disparity values in a script or via a probe, you need to remember to always scale them by (image. Width/image. OriginalWidth, image. Height/ image. OriginalHeight).
Viewing of Disparity and Vector Channels
Aux channels can be displayed directly in the viewers through the Channel viewer button’s menu.
The CopyAux node is used to copy those channels directly into the RGB channels for viewing or further processing. The advantage of using the CopyAux node is that it does static normalization, which reduces a lot of flicker that the viewer’s time-variant normalization causes. When viewing long sequences of aux channels, the CopyAux node has the option to kill off aux channels and keep only the current RGB channels, freeing up valuable memory so you can cache more frames.
TIP: Although you can use the Channel Booleans to copy any aux channel into RGBA, it involves a few additional clicks when compared to CopyAux.
TIP: Although you can use the Channel Booleans to copy any aux channel into RGBA, it involves a few additional clicks when compared to CopyAux.
TIP: Although you can use the Channel Booleans to copy any aux channel into RGBA, it involves a few additional clicks when compared to CopyAux.