IDisplace

Function
The IDisplace function is a hard-wired version of DisplaceX to warp an image based on the
intensity of a second image. The formula it uses is "x-(a*xScale)" and "y-(a*yScale)".

The following image is a checkerboard warped with a RotoShape node. Because the shape is black and white, with little grey, it is difficult to make out the distortion in the checkerboard.

As the following image demonstrates, it is often a good idea to insert a blur between a high contrast distortion image and the IDisplace node.


This looks really snazzy when you combine it with the Relief macro from the Cookbook:

Parameters
Type
Defaults
Function
x/yScale
float
0, xScale The amount of pixels that the image is offset by the second image.
x,yDOffset
float
0, xDOffset A panning factor applied to the image. Intensity is usually 0 to 1, with 1 being 100% of the x/yScale factor.
x, yChannel
string
"a", "a" The channel from the second image that is used to distort the first image.
x,yDelta
float
0, xDelta The anticipated amount that the pixels will move. If this is too much, calculations will slow down. If it is too little, there will be black holes in the image.

Synopsis

image IDisplace( 
  image img,
  image controlImg,
  float xScale,
  float yScale,
  float xDOffset,
  float yDOffset,
  const char * xChannel,
  const char * yChannel,
  float xDelta, 
  float yDelta
);

Script

image = IDisplace(
  img,
  controlImg,
  xScale, yScale,
  xMaskOffset, yMaskOffset,
  "xChannel", "yChannel",
  xDelta, yDelta
);

Command Line

shake -idisplace controlImg xScale ...

See Also
Randomize, Rand, Turbulate , DisplaceX