以下是我在Flash中使用的像素弯曲着色器的片段:
parameter float2 srcSize
<
parameterType: "inputSize";
inputSizeName: "src";
>;
input image4 src;
源图像的宽度和高度在Pixel Bender Toolkit中正确填充,但当我在Flash Player 10中作为过滤器运行此着色器时,srcSize值不会自动填充。
这是因为工具包要求您在运行之前加载映像。Flash中的流是不同的,因为它不会假设你将使用图像作为源。我敢肯定,在对源图像运行ShaderJob之前,您需要设置inputSize的宽度/高度。
显然不可能让flash填充源图像的宽度和高度,您必须自己调用:
var rect:Rectangle = dispObj.getBounds(dispObj);
然后将rect.width和rect.height传递到着色器参数中。