MGraphics without jsui
From WikiName
MGraphics is a great easy-to-use wrapper for OpenGL in Javascript. In Max, the only documented use is within a [jsui] object.
However, MGraphics can be used just as well without jsui, outputting a Jitter matrix instead. Here is an example:
Save this as ToJitter.js in the same folder as the Max patch below:
autowatch = 1; var mgraphics = new MGraphics(256, 256); var outmatrix = new JitterMatrix(4, "char", 256, 256); var start = new Date(); var speed = 2.; function draw(now) { var progress = (now * speed) % 1.; with (mgraphics) { // draw background with changing alpha (causes trail effect) set_source_rgba(0, 1, 0, progress); rectangle(0, 0, 256, 256); fill(); // draw scaling square set_source_rgba(1, 0, 1, 1); rectangle(64 - progress * 64, 64 - progress * 64, 128 + progress * 128, 128 - progress * 128); fill(); } var theImage = new Image(mgraphics); theImage.tonamedmatrix(outmatrix.name); outlet(0, "jit_matrix", outmatrix.name); gc(); }
Save this as a Max patch in the same folder as the js file above:
<code> ----------begin_max5_patcher---------- 1704.3oc6a17iiZCE.+bxeEVH0KUYSw17U1Sak5dn8P6kpdY0pHGvCimk.Tv Yloc09+d8G.AR.BICIgUpqlkLisA+7O+d1O+djuNelwljWo4Ff2C9DX1ruNe 1LUQxBlU72yL1Rd0OhjqZlwVZdNIjZrPWGm9JWUNx1AH9eY4I63QTN+eRo5G tgA3yEUEuaKKVTo54gJJLkv8ejEGtNi5y02B1d0Rr3eVVK.Pa6klK.1txqvU KMqdZr.U2mr4o2Y4V16OjDyiIaU8swOmwHQF66bsno5cXs1my9WU6g3klxR+ 174xKKdibw+QR10BJHOINvN8BEm6HThouHjgiXRJHjx+8jW5jKODkP3c.GX2 vwsP8P8gCTdEYVCK9IQIY5lZtzyBCwtKD+lqED55H+MUQXwinCVZOJrDIDrZ iAZVAAKPnn0rH5yzrbVRbsGxLCRZZshmU6Vjb+I8XyYQUQrXcQvphxnOyJue upRIYBRxEXbWldD8pmigtRwb87xasDyNJ0NmUJ9hTvFCc1iLgVQXTh+WnJxY VVXRJMlEmlQyowbBuPJppNf9.YWDec6npY8OP7ocdysNuLyHLiEjDKEhF2or 3xt6Sh0YTZP10GLpVDSRa4lyEiic4aHYRptIhVy3UntmjD0rppIRgUCIlskv oblVXQlUOT11zLVLuQGQiIhmwi49YIQQMdT5ZdtkZBDy09zWXA7GUOq5nTzb VZ4TfQEiBXgzbdyx3jv7lkzXOi5Jg0WNnQ48srPykF3fM.y50bzZCaHwgFK. FJD84ZsrsUI5ZkBnXJ1VLQCUKRfsNbohCs7wd0kot0xNdE.zA2WcU6xZTqpV XsM9HMTnlAf.XuTsGThFDJ8zaPeRRhrtTRBu6j7m.PSSyk8Bxlacc1zz1TuE lZOcK2SQS3pueo46.2DT5pMwQRkzdQoy2unzOcmubG22DNgCBmZuMsOslo8+ iygrCzf4IdhyS0H+z6b2MvLGh9mk5Jxt7ZW3xBOLf3mrcKMtvkmQjF5ty3MY qgrrVZaiPVNCZDa08H17LFw6c7MhE2kedJYVVe6nHOYWle4zd4zAnonKbBky hqNGvm16dfvYk5M7QVPPS+t0tplKc7UeDiAMwc0jY4RcGzv6kLK8S8.70Cmm Px7f3LdxHysfu1k4VFb2KYV5q3fjYqoitgzorgoarZ5Hy1CUlclNxL9bj4wX 8YvmmWO9RF4jmoAqEcgXSv0DNOisYGWu8S8Pi8ViBzoixzYDZjVEhd57t5zv njMjnhfAVcusDAl46g33DI1eD3rD4gun.w1WTpw1UQoF4nbcwZ0Qgisd7UPi UjUGO17C.3xNAS8nOcYXwRetT69vBZ0zCK4r38GbezBceCz3ozUv8qwL8HSZ FMkFG.BxHubto74jY0.4fke3Y0q9h4DjJju.RSxYxkTEJNxedGd44xGqdTcL QJ0ErxfBB6Usw6NBnxSdcHg9nJD9fsTiyTyvScLQrNcWd8MrO6j.Z1ehqdHK bSQREt.P7DiuL8EVbPOo.TFh+y2VA4ZVsLhkxTQyHmtLXZeziFwD.acsx9qY s.a1U1eQ3oW1eyD8FEjFQho9I6h4.IR.Ars8qKrnWch9VevEszq.ZZqDniN9 JcjlWzYasXc0glzjYKQ3U7qr3GRFwcWpSm5VLcAGr4zSi5obvel7aLNmls7o 7weqWs+Htn9Vg0Zje0.F34gjup.U81wPPNpxDUKJbsNSw6OO1XdNBo5YXzRU pxejHLm+qe8W93e.9f9OT15fOH583fBwPbFxOndcLjYlrV1IOdVS7nWq07ur sDzygXa86JiWudG.O6igft59OIQqduxRnJ7lB3XaJ1TqSnUlj7yGW1X8JjHc xy50qBHbZhKglXlPUiloI10iREu5UPXuTxbxRI4euKidBLIs.CiVWz32jUHR qVAw8AL26Hu3IggQzK3X+mTYAWkhutG4UG2u0UsaeajwSoP9t2rAPyH4zSZx T9ot0WHRVot531GRN6W4N7U234uEyLYI.3IV98r8tWCEGkSXN8FWH3U3Trp9 oYN+zL5vXIWPpiyiS8PH2Q3iajdpiib7wQM9nYrgJMdCPZja2WqQWSwAiFf7 fuYhCZ0PDmaGdFh3.uYRi6zR2wtgQSG4ry9lJNmjNl2TwAMcDGqgfmCL+t+x yMjOCPbbmTRCdZAma3dVlCQbbtcaZ4L.Sc4WBnajKFHmgrvrysUdN47E91IO CQ+w5lo9.Gfzbo6hpcd9fueNRA4fuWNG7cx43uONc8cwQzOea9+gRpViy -----------end_max5_patcher----------- </code>