Pages: 1
Bonjour Bonsoir,
Voilà c'est mon premier post, je suis sur la créa d'un spectacle jeune public et j'utilise Pg pour mes rendus animés que j'envoie via Syphon dans Millumin.
Et mon soucis c'est que j'ai bidouillé un sketch d'un joli papillon qui me fait une belle trainée (background(0,70) mais je n'ai pas le rendu de cette trainée dans millumin!
Je m'évertue à chercher depuis deux trois nuits sans succès.
Si qq un a un peu de temps à me consacrer j'en serais ravi.
Merci d'avance!
Voici le sketch (dispo en piece jointe aussi):
import codeanticode.syphon.*;
PGraphics canvas;
SyphonServer server;
int radius;
int ellipseSize;
int legLength;
int cx;
int cy;
int rotated;
int howMany;
int transparency;
//int redtransparency;
void setup() {
size(1024, 768, P3D);
background(0, 0, 0);
//fill(255);
frameRate(16);
canvas = createGraphics(1024, 768, P3D);
server = new SyphonServer(this, "Processing Syphon");
//canvas.background(0);
}
void draw() {
canvas.beginDraw();
canvas.background(0, 0, 0, transparency);
canvas.noStroke();
canvas.ellipseMode(CENTER);
float cx = mouseX;
float cy = mouseY;
howMany = int(random(20));
for (int l = 0; l < howMany; l++) {
rotated = int(random(0, 100));
legLength = int(random(5, 15)); //taille du pap
transparency = int(random(10, 90));
// redtransparency =int(random(150,200));
for (int j = 0; j < 50; j++) {
float legW = cx + cos(radians(5*j+rotated)) * legLength;
float legX = cy+ sin(radians(10* j+rotated))* legLength;
canvas.fill(255, transparency);
canvas.ellipse(cx, cy, 1, 1);
//fill(255,255,0,transparency);
//ellipse(cx, cy - 25, 1,1);
canvas.stroke(255, 255, 0, transparency); //couleur pap
canvas.line(cx, cy, legW, legX);
//ellipse(legX, legX, radius, radius);
if (legLength < 50) {
//canvas.fill(103,29,15,redtransparency);
canvas.ellipseMode(CENTER);
canvas.ellipse(legW, legX, 2, 2);
}
else {
}
}
}
canvas.endDraw();
image(canvas, 0, 0);
server.sendImage(canvas);
}
Hors ligne
Bonjour,
En fait il faut construire ton canvas avec le précédent estompé. Le précédent est affiché comme une image.
import codeanticode.syphon.*; PGraphics canvas, precCanvas; SyphonServer server; int radius; int ellipseSize; int legLength; int cx; int cy; int rotated; int howMany; int transparency, estompage; //int redtransparency; void setup() { size(1024, 768, P3D); background(0, 0, 0); //fill(255); frameRate(16); canvas = createGraphics(1024, 768, P3D); precCanvas = createGraphics(1024, 768, P3D); server = new SyphonServer(this, "Processing Syphon"); noCursor(); estompage = 10; } void draw() { background(0); canvas.beginDraw(); canvas.background(0); canvas.noStroke(); canvas.image(precCanvas, 0, 0, width, height); canvas.fill(0, estompage); canvas.rect(0, 0, width, height); canvas.ellipseMode(CENTER); float cx = mouseX; float cy = mouseY; howMany = int(random(20)); for (int l = 0; l < howMany; l++) { rotated = int(random(0, 100)); legLength = int(random(5, 15)); //taille du pap transparency = int(random(10, 90)); // redtransparency =int(random(150,200)); for (int j = 0; j < 50; j++) { float legW = cx + cos(radians(5*j+rotated)) * legLength; float legX = cy+ sin(radians(10* j+rotated))* legLength; canvas.fill(255, transparency); canvas.ellipse(cx, cy, 1, 1); //fill(255,255,0,transparency); //ellipse(cx, cy - 25, 1,1); canvas.stroke(255, 255, 0, transparency); //couleur pap canvas.line(cx, cy, legW, legX); //ellipse(legX, legX, radius, radius); if (legLength < 50) { //canvas.fill(103,29,15,redtransparency); canvas.ellipseMode(CENTER); canvas.ellipse(legW, legX, 2, 2); } else { } } } canvas.endDraw(); image(canvas, 0, 0); precCanvas = canvas; server.sendImage(canvas); }
Hors ligne
Pages: 1