39 lines
1007 B
ActionScript
39 lines
1007 B
ActionScript
|
package {
|
|||
|
import flash.display3D.Context3DProgramType;
|
|||
|
import com.adobe.utils.AGALMiniAssembler;
|
|||
|
import flash.utils.ByteArray;
|
|||
|
|
|||
|
public class AGALHelper {
|
|||
|
public function AGALHelper() {
|
|||
|
// Edit these with the AGAL you want to compile
|
|||
|
|
|||
|
var vertexShader:AGALMiniAssembler = new AGALMiniAssembler();
|
|||
|
var vertexBytes = vertexShader.assemble(Context3DProgramType.VERTEX,
|
|||
|
"mov vt0, vc[va0.x+5] \n" +
|
|||
|
"mov vt1, vc[va1.y+6] \n" +
|
|||
|
"add op, vt0, vt1",
|
|||
|
2);
|
|||
|
trace("Vertex shader:");
|
|||
|
printArray(vertexBytes);
|
|||
|
|
|||
|
var fragmentShader:AGALMiniAssembler = new AGALMiniAssembler();
|
|||
|
var fragmentBytes = vertexShader.assemble(Context3DProgramType.FRAGMENT,
|
|||
|
"mov oc, v0\n",
|
|||
|
2);
|
|||
|
|
|||
|
trace("Fragment shader:");
|
|||
|
printArray(fragmentBytes);
|
|||
|
}
|
|||
|
|
|||
|
private function printArray(data:ByteArray) {
|
|||
|
var out = "&[";
|
|||
|
data.position = 0;
|
|||
|
while (data.bytesAvailable != 0) {
|
|||
|
out += data.readUnsignedByte();
|
|||
|
out += ",";
|
|||
|
}
|
|||
|
out += "]";
|
|||
|
trace(out);
|
|||
|
}
|
|||
|
}
|
|||
|
}
|