ruffle/render/naga-agal/agal-helper/AGALHelper.as

39 lines
1007 B
ActionScript
Raw Normal View History

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);
}
}
}