Matrix output from js (gl)
Jan 17 2019 | 10:18 am
How can I have the a matrix output from this js objects that has a simple particle system?
In the cod there is a matrix output but it is just a test, not really related to the rest.
autowatch = 1; outlets = 2; var myWindow = new JitterObject("jit.window", "js"); myWindow.floating = 0; myWindow.size = [640, 480]; myWindow.fsaa = 1; myWindow.pos = [10, 50]; myWindow.depthbuffer = 0; var myRender = new JitterObject("jit.gl.render", "js"); myRender.erase_color = [0, 0, 0, 0.1]; myRender.blend_enable = 1; var mySketch = new JitterObject("jit.gl.sketch", "js"); mySketch.blend_enable = 1; var image_out = new JitterObject("jit.gl.asyncread", "js"); image_out.automatic = 1; var Vector = { x: 0.0, y: 0.0, z: 0.0, add: function(Vector) { this.x += Vector.x; this.y += Vector.y; this.z += Vector.z; } }; function Particle(x, y) { this.location = Object.create(Vector); this.velocity = Object.create(Vector); this.acceleration = Object.create(Vector); this.gravity = Object.create(Vector); this.color = Object.create(Vector); this.location.y = y; this.location.x = x; this.gravity.y = -0.000; this.acceleration.y = (Math.random()*2 - 1)/3000.0; this.velocity.x = (Math.random()*2 - 1) / 120.0; this.velocity.y = (Math.random()*2 - 1) / 200.0; this.color.x = Math.random()*0.73; this.color.y = Math.random()*0.77; this.color.z = 1.0; this.lifespan = 255; }; Particle.prototype.update = function() { this.velocity.add(this.acceleration); this.velocity.add(this.gravity); this.location.add(this.velocity); this.lifespan -= 2; }; Particle.prototype.display = function() { mySketch.moveto(this.location.x, this.location.y, this.location.z); var alpha = this.lifespan / 255.0; mySketch.glcolor(this.color.x, this.color.y, this.color.z, alpha); mySketch.circle(this.lifespan * 0.000077); if(this.location.y > 0.85 || this.location.y < -0.85){ this.lifespan = 0.0; } }; Particle.prototype.getPos = function() { return this.location; }; Particle.prototype.run = function() { this.update(); this.display(); } Particle.prototype.isDead = function() { if(this.lifespan <= 0.0) { return true; } else { return false; } }; // Particles Array var pArray = []; var maximum = 5000; function maxParticle(m){ maximum = m; } function createParticle(x, y) { pArray.push(new Particle(x, y)); } function bang() { var matrix = new JitterMatrix("noisemat"); // defined in max patch for(i=0; i<7; i++) { for(j=0; j<12; j++) { var val = matrix.getcell(j, i); matrix.setcell(j,i,"val",val[0],val[1],val[2],val[3]); } } outlet(1,"jit_matrix",matrix.name); for(var i = pArray.length-1; i >= 0; i--) { pArray[i].run(); if(pArray[i].isDead()) { pArray.splice(i, 1); } if(pArray.length > maximum){ pArray.splice(i, 1); } } myRender.erase(); myRender.drawswap(); mySketch.reset(); }