我正在尝试使用 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 传递相同的值以及为什么当顶点只有三个坐标时它不起作用的任何线索?