AGALでシェーディングに入ろうとしています。シェーダー プログラムでフル スクリーン クワッドを描画するように設定しましたが、説明のつかない問題が発生しました。
私はこれらの頂点を持っています
var vertices:Vector.<Number> = Vector.<Number>([
- 1, - 1, 0, - 1, - 1, 0,
+ 1, - 1, 0, + 1, - 1, 0,
- 1, + 1, 0, - 1, + 1, 0,
+ 1, + 1, 0, + 1, + 1, 0
]);
このペアのプログラムは動作します
vertexShaderAssembler.assemble(Context3DProgramType.VERTEX,
"mov op, va0\n" +
"mov v0, va1"
);
...
fragmentShaderAssembler.assemble(Context3DProgramType.FRAGMENT,
"mov oc, v0"
);
しかし、これはそうではありません
vertexShaderAssembler.assemble(Context3DProgramType.VERTEX,
"mov op, va0\n" +
"mov v0, va0"
);
...
fragmentShaderAssembler.assemble(Context3DProgramType.FRAGMENT,
"mov oc, v0"
);
va1 を介して同じ値を渡す必要がある理由と、頂点に 3 つの座標しかない場合に機能しない理由についての手がかりはありますか?