[PD] pix_mask and gemframebuffer

Jack jack at rybn.org
Tue Nov 15 19:23:48 CET 2011

Le 15/11/2011 18:05, ub at xdv.org a écrit :
> hey there,
> On 09.11.2011 15:53, Max wrote:
>> i remember someone said that he was working on making glsl 
>> abstractions to replace some of the pix_ es
> some time ago, i have made a video-mixer to replace the example in 
> 04.pix/12.blending.pd, that routes the signal into each appropriate pix,
> with one shader program, initially because i wanted to have hard-light 
> blending and writing a shader seemed easier than adding a pix_ object.
> i then added some effects to it, so i kind of have replaced some pixes 
> with shaders, but in one rather large fragment shader program, rather 
> than
> single abstractions.
> following your suggestion, i moved some code into individual 
> abstractions and it basically works to prove the concept, but there's 
> some limitations.
> every abstraction needs to render its output into a frambuffer with a 
> texunit assgined to it as input for the fragment program, but afaik 
> the number
> of texunits is limited[1] and you need to track their index globally.
> some pix operation will need more than one texunit and the number or 
> the overall memory of framebuffers might as well be limited.
> anyway i will continue to experiment on that, but if something in the 
> direction of pix replacement (or frei0r replacement for that matter) 
> has already been done,
> i'd be curious to see it. :)
> ciao,
> ub
> [1] http://www.opengl.org/wiki/GLSL_Sampler#Binding_textures_to_samplers
> _______________________________________________
> Pd-list at iem.at mailing list
> UNSUBSCRIBE and account-management -> 
> http://lists.puredata.info/listinfo/pd-list

It is possible to use /Gem/examples/10.glsl/06.rectangle_multitexture.pd 
to simulate [pix_mask] with shaders.
Load your mask and your picture with the two yellow bang and click on 
the message 'multiply'.
This patch works with graphic cards compatible with shader 4.

If your graphic card is compatible with shader <= 3, then use 
/Gem/examples/10.glsl/05.multitexture.pd and modify a little bit the 
fragment shader.

I have done this small patch (ttached and compatible GPU shader 4) for 
people who want a small patch example. Hope it can be useful.


-------------- next part --------------
A non-text attachment was scrubbed...
Name: maskAlpha.zip
Type: application/zip
Size: 65788 bytes
Desc: not available
URL: <http://lists.puredata.info/pipermail/pd-list/attachments/20111115/61831afe/attachment-0001.zip>

More information about the Pd-list mailing list