Bonjour,
j'utilise la librairie GSVideo pour passer d'une vidéo à l'autre au moyen d'une fonction keyPressed, dans le mode de rendu GLGRAPHICS.
lorsque je passe à ma seconde ou troisième vidéo, j'ai des images résiduelles des vidéos précédemment jouées qui s'intercalent aléatoirement au milieu des images de la vidéo qui devrait être affichée, créant des effets stroboscopiques (certes magnifiques mais pas du tout appropriés pour ce que je souhaite faire là).
j'ai trouvé une discussion à ce propos sur le forum processing :
http://forum.processing.org/topic/gsvid … -on-ubuntu
mais pour le moment, cela ne m'a pas permis de régler mon problème.
en gros, il faudrait que je trouve le moyen de vider le buffer lorsque je passe à ma nouvelle vidéo.
voilà mon code :
import codeanticode.glgraphics.*; // librairie GLGraphics import codeanticode.gsvideo.*; // librairie video GLGraphics import javax.media.opengl.*; // librairie openGL import processing.opengl.*; // librairie openGL GSMovie back; // declaration fichiers video GLGraphicsOffScreen outputCanvas; GLTexture tex; GLTexture outTex; // output texture int outW = 1024; // offscreen buffer width int outH = 768; // offscreen buffer height void setup() { size(1024,768, GLConstants.GLGRAPHICS); frameRate(25); tex = new GLTexture(this); outputCanvas = new GLGraphicsOffScreen(this, outW, outH, true, 4); // 4 ?? A checker... outTex = new GLTexture(this); } void movieEvent(GSMovie back) { back.read(); } void draw() { outputCanvas.beginDraw(); outputCanvas.fill(0, 0); outputCanvas.noStroke(); outputCanvas.rect(0, 0, width, height); if (frameCount == 1) { background(0); } if (tex.putPixelsIntoTexture()) { image(tex, 0, 0); } outputCanvas.endDraw(); outTex = outputCanvas.getTexture(); image(outTex, 0, 0); } void keyPressed() { if (key == '1') { back = new GSMovie(this, "back_video1.mov"); back.setPixelDest(tex); back.loop(); } if (key == '2') { back = new GSMovie(this, "back_video2.mov"); back.setPixelDest(tex); back.loop(); } }
Merci d'avance pour toute idée qui m'aiderait à résoudre ce problème...
(J'ai notamment essayé d'utiliser la fonction clear, cf http://glgraphics.sourceforge.net/refer … ture.html, mais sans obtenir le résultat que je recherche pour le moment...)
Hors ligne
salut eMTv a tu trouver une réponse en se qui concerne le buffer vidéo je ne parviens pas a me débarrasser de la dernière image de ma vidéo
Merci
Dernière modification par vaga (2013-01-20 22:16:40)
Hors ligne
Pages: 1