[PD] Possible to mask a rectangle with a rectangle using GEM?

Jack jack at rybn.org
Sat Jun 12 11:17:03 CEST 2010


Yes it is working fine ;)
I thought about a solution without the translation.
This is a nice example for the importance of the rendering order.
++

Jack

 

Le samedi 12 juin 2010 à 09:25 +0200, cyrille henry a écrit :
> hello,
> 
> i may have misunderstood the question, because i think there is a much simple solution using rendering order.
> see attachment.
> c
> 
> 
> Le 12/06/2010 07:05, patko a écrit :
> > hi again,
> >
> >   after reflexion, I don't think it's a good idea to snap and apply alpha
> > when you want to apply a texture on the outer rectangle, some pixels might
> > disappear when they have the same amount of color that is supposed to disappear on the masking process.
> >
> > It might be possible to apply a texture mapping on vertices drawn with openGL functions rather,
> > but I've no clue about how it could be done yet.
> >
> >   Or just use the method proposed by jack that is about using four rectangles if you don't use a texture, you can connect them together like this:
> >
> > [gemhead]
> > |
> > [translateXYZ -1 0 0]
> > |
> > [rectangle 0.2 1]
> > |
> > [translateXYZ 0.8 1 0]
> > |
> > [rectangle 1 0.2]
> > |
> > etc...
> >
> >
> >
> >   Just loading an image containing the alpha hole, like attached would be cpu wise, very simple to do with an image editor,
> > and wouldn't add artefacts on your texture.
> >   I've attached an example patch and the gimp image, on gimp just draw the two rectangles, select the inner rectangle, go to Colors menu,
> > and then choose "Color to alpha".
> >   I've choosen the tiff format because it works on most platforms, unlike png.
> >
> > Patrice Colet - 06 32 66 03 57
> >
> > ----- "Jack"<jack at rybn.org>  a écrit :
> >
> >> Hello,
> >>
> >> You have several possibilities to do what you are looking for :
> >> - use (as Patrick describe) two rectangles to create a mask (with
> >> [gemframebuffer], [pix_snap] and [pix_buffer], [pix_buffer_read],
> >> [pix_buffer_write]) then [pix_mask] or [pix_multiply];
> >> - use four [rectangle]s to build 'lines' of the rectangle;
> >> - use GLSL to create the mask and the final image.
> >> Surely, there are other ways (like openGL objects with GEM for
> >> example)...
> >> See in help>  browser>  examples>  GEM (in Pd-extended) to understand
> >> what this objects do.
> >> Hope that helps somewhat.
> >> ++
> >>
> >> Jack
> >>
> >>
> >>
> >>
> >> Le vendredi 11 juin 2010 à 10:03 -0700, Ryan Trigg a écrit :
> >>> Patrice,
> >>>
> >>>
> >>> Thanks for your reply, sounds like interesting options (especially
> >> the
> >>> snapping two rectangles together)...could you be more specific with
> >>> instructions on what objects to use?  Pardon my novice GEM skills.
> >>>
> >>>
> >>> Merci!
> >>>
> >>>
> >>> Ryan
> >>>
> >>> On Fri, Jun 11, 2010 at 9:49 AM, patko<colet.patrice at free.fr>
> >> wrote:
> >>>          hello,
> >>>           you can put an image texture with a rectangle made of
> >> alpha
> >>>          pixels,
> >>>           or draw an alpha rectangle using  gridflow and then load
> >> it
> >>>          as a texture
> >>>          with #to_pix,
> >>>           or snap two rectangles with different colors,
> >>>           and turn to alpha all pixels matching the inner rectangle.
> >>>
> >>>          Patrice Colet - 06 32 66 03 57
> >>>
> >>>          ----- "Ryan Trigg"<ryan.trigg at gmail.com>  a écrit :
> >>>
> >>>
> >>>          >  I am trying to mask [rectangle] using GEM with another
> >>>          smaller
> >>>          >  [rectangle] (that controls the first rectangle's alpha
> >> value
> >>>          wherever
> >>>          >  it is placed) in order to create an adjustable rectangle
> >>>          outline (that
> >>>          >  has a border of my desired thickness). I noticed that you
> >>>          can choose
> >>>          >  [draw line( and [width $1( for a rectangle but the
> >> maximum
> >>>          thickness
> >>>          >  of the line is much too small. Does anyone have any
> >> thoughts
> >>>          or ideas?
> >>>          >
> >>>          >
> >>>          >  Or maybe there's an object like [disk] (using 4 segments)
> >>>          but with the
> >>>          >  ability to adjust the height and width just like
> >> [rectangle]
> >>>          >
> >>>          >
> >>>          >
> >>>          >  Cheers!
> >>>          >
> >>>          >
> >>>          >  Ryan
> >>>
> >>>          >  _______________________________________________
> >>>          >  Pd-list at iem.at mailing list
> >>>          >  UNSUBSCRIBE and account-management ->
> >>>          >  http://lists.puredata.info/listinfo/pd-list
> >>>
> >>>
> >>> _______________________________________________
> >>> Pd-list at iem.at mailing list
> >>> UNSUBSCRIBE and account-management ->
> >> http://lists.puredata.info/listinfo/pd-list
> >>
> >>
> >> _______________________________________________
> >> Pd-list at iem.at mailing list
> >> UNSUBSCRIBE and account-management ->  http://lists.puredata.info/listinfo/pd-list





More information about the Pd-list mailing list