Bonjour a tous,
j'essaie de tisser un patch qui recupere les surfaces les plus lumineuses (blanches) et les transforme en alpha pour devoiler les images ou la video en dessous.
l'idée est de pouvoir "dessiner" une couche alpha sur un calque pour faire apparaitre les elements du dessous.
Dans le patch ci joint, je filtre donc les surfaces blanches avec pix_alpha et met le reste d 'limage en noir, puis j'utilise un buffer dans lequel j'ecris et je lis les images precedentes pour garder le "dessin" en faisant un pix_multiply pour combiner l'image en cours et l'image precendente.
Dans le principe ca m'aviat pas l'air trop stupide, mais j'ai un gros souci, a savoir que petit a petit, le buffer est saturé par une couche alpha, meme si je n'en ai pas sur mon claque, un peu comme si une couche alpha latente se propageait dans le buffer petit a petit.
Quelqu'un a t'il deja eu ce probleme ou voit un probleme de conception dans mon patch?
D'avance merci
Dernière modification par acryl (2013-01-14 19:00:48)
Hors ligne
Salut,
Un peu difficile de faire des pix_multiply avec l'alpha...
La solution c'est de calculer ton alpha après...
Je te joins le patch
Hors ligne
Excellent, merci nono, c'est parfait.
A part qu'encore une fois je me sens bien con, j'ai parcouru tous les objets GEM pour comprendre ce qui ce passait, je suis meme aller voir dans le code source du pix_multiply...
Y a des fois comme ca ou on prend toujours le probleme a l'envers, et quand on est dans le mur, on continu a se cogner dessus en essayant d'avancer.
Petite question subsidiaire cependant sur le pix_multiply, pour moi il ne prenait en compte que les couleurs et non la couche alpha, me-trompes-je?
Hors ligne
Salut acryl,
tu remarqueras que j'ai utilisé le pix_add au lieu du multiply... pour faire du lightpainting, c'est mieux...
Après pour ta question, je n'en ai aucune idée, et c'est pourquoi je préfère ne pas mélanger les actions : d'abord on additione les valeurs, ensuite on calcule l'alpha.
Maintenant, si tu as le courage, vaut mieux passer par des shaders (plus pratique, paramétrable et malléable)
Hors ligne
Pages: 1