Annonce

>>> Bienvenue sur codelab! >>> Première visite ? >>> quelques mots sur codelab //// une carte des membres//// (apéros) codelab


#1 2012-04-17 22:22:24 background transparent (couche alpha) ?

-[eM Tv]-
membre
Date d'inscription: 2011-09-04
Messages: 51

background transparent (couche alpha) ?



Hello,

j'ai beau chercher, je ne trouve pas de solution au problème suivant:

je voudrais que ma sortie processing ait un fond transparent afin de ne récupérer par syphon que l'objet que je dessine.

apparemment, avec le rendu opengl (nécessaire pour le serveur syphon), ce n'est pas possible... ou alors??
en utilisant une image comme fond ça devrait être jouable (http://processing.org/reference/PImage_alpha_.html) mais je n'y arrive pas.

en gros mon écran a une taille définie de 1024,768, donc je fais une image noire de mêmes dimensions, que j'appelle dans ma fonction background() mais après, je ne sais pas comment lui donner les infos de transparence...?


si quelqu'un a un avis sur la question... merci d'avance !!

Hors ligne

 

#2 2012-04-18 07:05:36 Re : background transparent (couche alpha) ?

cgiles
membre
Lieu: Est de la France
Date d'inscription: 2005-05-25
Messages: 329

Re: background transparent (couche alpha) ?



https://forum.processing.org/topic/syph … 0001060183

faut débuter ton canvas après le background(0,0,0,0);

Hors ligne

 

#3 2012-04-20 19:25:02 Re : background transparent (couche alpha) ?

-[eM Tv]-
membre
Date d'inscription: 2011-09-04
Messages: 51

Re: background transparent (couche alpha) ?



merci cgiles pour ta réponse, mais j'ai beau retourner la discussion et les exemples qui y sont donnés dans tous les sens, je n'arrive pas à adapter mon sketch pour que ça fonctionne...

du coup, si ça vous ennuie pas, je vous poste mon code :

import jsyphon.*; // Syphon
import javax.media.opengl.*;
import processing.opengl.*;

PGraphicsOpenGL pgl;// Syphon
GL gl;// Syphon
int[] texID;// Syphon

ParticleSystem ps;

JSyphonServer mySyphon;

void setup() {
  size(640, 360, OPENGL);
  colorMode(RGB, 255, 255, 255, 100);
  ps = new ParticleSystem(1, new PVector(width/2,height/2,0));
   smooth();    
  frameRate(25); // frameRate (experiment witht his for best lag free results
  
    // initialisation serveur syphon
   pgl = (PGraphicsOpenGL) g;
  gl = pgl.gl;
  initSyphon(gl,"processing");
}

   
void draw() {
  background(0);
  ps.run();
  ps.addParticle((mouseX),(mouseY));
 renderTexture(pgl.gl);
}


void initSyphon(GL gl, String theName) {
    if(mySyphon!=null) {
      mySyphon.stop();
    }
    mySyphon = new JSyphonServer();
    mySyphon.test();
    mySyphon.initWithName(theName);

    // copy to texture, to send to Syphon.
    texID = new int[1];
    gl.glGenTextures(1, texID, 0);
    gl.glBindTexture(gl.GL_TEXTURE_RECTANGLE_EXT, texID[0]);
    gl.glTexImage2D(gl.GL_TEXTURE_RECTANGLE_EXT, 0, gl.GL_RGBA8, width, height, 0, gl.GL_RGBA, gl.GL_UNSIGNED_BYTE, null);
} 

void renderTexture(GL gl) {
  gl.glBindTexture(gl.GL_TEXTURE_RECTANGLE_EXT, texID[0]);
  gl.glCopyTexSubImage2D(gl.GL_TEXTURE_RECTANGLE_EXT, 0, 0, 0, 0, 0, width, height);
  mySyphon.publishFrameTexture(texID[0], gl.GL_TEXTURE_RECTANGLE_EXT, 0, 0, width, height, width, height, false);
}

(j'utilise la méthode de miguel v. espada pour envoyer mon rendu à syphon.)

merci d'avance...

Hors ligne

 

#4 2012-04-22 07:05:04 Re : background transparent (couche alpha) ?

cgiles
membre
Lieu: Est de la France
Date d'inscription: 2005-05-25
Messages: 329

Re: background transparent (couche alpha) ?



C'est possible d'avoir la librairie ParticleSystem , pour voir comment tu rends tes particules ?

Hors ligne

 

#5 2012-04-22 14:25:26 Re : background transparent (couche alpha) ?

-[eM Tv]-
membre
Date d'inscription: 2011-09-04
Messages: 51

Re: background transparent (couche alpha) ?



yep, voilà le sketch en entier en pièce jointe, mais c'était seulement un exemple... à vrai dire, j'aurais pu dessiner un carré ou n'importe quoi, ce qui m'intéresse ici est vraiment de comprendre comment modifier mon code pour avoir cette transparence du background quel que soit ce que je mets dans la fonction draw.

Hors ligne

 

#6 2012-04-22 23:02:18 Re : background transparent (couche alpha) ?

sakramh
membre
Lieu: clichy-sous-bois
Date d'inscription: 2008-12-02
Messages: 829
Site web

Re: background transparent (couche alpha) ?



bon je me gratte la gorge avant de sûrement dire une bêtise vu que je connais pas assez processing pour décortiquer ton code . Mais, mais... par définition un background il n'y a rien derrière (la couche la plus basse) donc même à réussir à lui mettre un canal alpha ce sera pour voir quoi ? heu ... du rien . D'où peut-être >> çà marche pas . En fait moi en vrai background je mettrai du noir ; peut-être alors un "faux background" (mis en position 2 donc) acceptera de façon visible un canal alpha .

Dernière modification par sakramh (2012-04-22 23:07:01)


le code est l'alchimie de l'âge du silicium

Hors ligne

 

#7 2012-04-22 23:12:00 Re : background transparent (couche alpha) ?

-[eM Tv]-
membre
Date d'inscription: 2011-09-04
Messages: 51

Re: background transparent (couche alpha) ?



je veux justement du rien et pas du noir derrière ce que je dessine (puisque c'est pour le récupérer via syphon dans un autre soft, et que je voudrais éviter de devoir faire un keying), et je crois qu'en effet, le mieux serait de ne pas envoyer le background dans la sortie syphon, d'où la bonne idée de cgiles de commencer le canvas après, mais je ne sais pas comment le faire avec la méthode dont je me sers pour syphon. (moi aussi je débute dans processing, et du coup je ne comprends/maitrise pas bien l'aspect "texture"...)

Dernière modification par -[eM Tv]- (2012-04-22 23:18:17)

Hors ligne

 

#8 2012-04-25 11:41:27 Re : background transparent (couche alpha) ?

cgiles
membre
Lieu: Est de la France
Date d'inscription: 2005-05-25
Messages: 329

Re: background transparent (couche alpha) ?



J'ai essayé de rendre ton sketch, et j'ai eu un erreur au niveau de syphon, comme quoi il trouvait pqs jsyphon, que j'ai bien installé.

Sinon tu peux passer sous openframeworks, qui est aisée a prendre en main ( même fonctionnement que processing ) , y a juste a comprendre le principe des fichiers .h et .cpp, mais c'est relativement simple

Hors ligne

 

#9 2012-04-28 11:20:37 Re : background transparent (couche alpha) ?

-[eM Tv]-
membre
Date d'inscription: 2011-09-04
Messages: 51

Re: background transparent (couche alpha) ?



hmm. bizarre pour l'erreur syphon.
de mon côté je vais creuser mon affaire de texture/canvas. il n'y a pas de raison, je vais bien finir par y arriver!
je vous tiens au courant si j'ai du nouveau...

Hors ligne

 

fil rss de cette discussion : rss

Pied de page des forums

Powered by FluxBB

codelab, graphisme & code : emoc / 2008-2024