To process a ByteArray containing a linear array of data (as
opposed to image data) set the corresponding ShaderInput instance's
height to 1 and width to the number of 32-bit floating-point values
in the ByteArray. In that case, the input in the shader must be
defined with the image1 data type.
What must the output be defined as? Float, right? This would
mean a simple doNothing filter could be defined as in the attached
But PixelBender gives the following error:
ERROR: (line 37): 'dst' : cannot have 1 or 2 channel outputs
So, either my assumptions are incorrect, or PixelBender does
not support this kind of operation.
Can an Adobe head tell me what's going wrong here? Am I
barking up the wrong tree or are we waiting for a new version of
PixelBender that supports 1dimensional data?
The short answer is that right now you have to use image3 or
image4 as your input data type and ignore the channels that
you’re not using. The longer answer is that there’s a
disconnect between what the Flash player will allow and what the
Pixel Bender compiler will allow – in this case the compiler
is wrong. I have entered a bug against the compiler.