私は問題を抱えていて、本当に迷惑になっています。単純な を使用して画像内のすべてのピクセルの色を返したいのですが、単純Shader
にスクリプトを に割り当てるのShader
は難しいことがわかりました。私は PixelBender スクリプトを知りませんし、この単純な機能にのみ使用したいのであまり勉強するつもりはありませんが、例からこの単純なスクリプトを作成しました:
<languageVersion : 1.0;>
kernel PixelColourShader
< namespace : "puggsoy";
vendor : "Puggsoy";
version : 1;
>
{
input image4 src;
output pixel4 dst;
void
evaluatePixel()
{
dst = sampleNearest(src, outCoord());
}
}
ロードをテストするために作成した簡単な AS3 スクリプトを次に示します。
package
{
import flash.display.Shader;
import flash.display.Sprite;
import flash.utils.ByteArray;
public class Main extends Sprite
{
[Embed(source = "PixelColourShader.pbj", mimeType = "application/octet-stream")]
private var PixelColourShader:Class;
private var shader:Shader;
public function Main():void
{
shader = new Shader(new PixelColourShader() as ByteArray);
}
}
}
私は数多くの例を見てきましたが、これが正しいロード方法であると確信しています。ただし、実行時に常に次のエラーが発生します。
[Fault] exception, information=ArgumentError: Error #2004: One of the parameters is invalid.
理由がわかりません。私が見ることができるパラメータは完全に有効です。
Flex 4 SDK を使用して、FlashDevelop を使用して AIR アプリケーションでこれを作成しています。