Nice, that one just worked for me. It would be even more fun with a video camera. I couldn't get that one going...
.hc On Mar 21, 2008, at 10:18 PM, marius schebella wrote: > hi, > I put an example patch for chaining glsl shader modules at > http://www.parasitaere-kapazitaeten.net/Pd/shader_chain > it uses one of cyrille's shader examples. > marius. > > marius schebella wrote: >> yes, but... >> it works, but you have to think about a lot of things and when it >> really >> comes to chaining separate modules together it really gets >> complicated. >> your gemchain has to look like this: >> >> [gemhead 49] >> | >> [shader] >> | >> [gemframbuffer] >> | >> [translateXYZ 0 0 -4] >> | >> [some...texture] >> | >> [square 4] >> >> always give the gemhead a number smaller than the consecutive >> gemheads, >> so that the textures are created before they are used in the next >> gemchain. >> in the gemchain itself the shader has to be placed *before* the >> framebuffer! >> gemframebuffer always "resets" the viewpoint, so you have to >> translate >> everything into negative z to make it visible. >> texture needs mode 1 on some cards and mode 0 on other cards, this >> also >> has to be the same as in the shader (sample2D v. sample2DRect). >> the geo has to correlate with the translate and cover the whole >> range, >> otherwise you wil crop the image or it will be too small. >> gemframebuffer >> also takes an argument "dim" that will affect the quality. >> >> if you have all that then you can send the right outlet of >> gemframebuffer (which is a number) to another texture right inlet and >> another shader can use that. >> >> this is a little complicated but will work for a shader chain patch. >> >> now when you think about a modular shader system, where you can >> just add >> shader abstraction into a chain, it gets much much more complicated. >> because when you have a combination like >> >> [shader] >> | >> [pix_image] >> | >> [texture] >> >> then the right inlet of texture can get any number, the shader will >> always take the image instead, so you cannot do your usual chains, >> but >> will have to refer an image from somewhere else. >> it is also difficult to debug, because the gemframebuffer will not >> output a texture... >> and then - if you use multiple shader modules - you also have to >> change >> the renderorderof the gemhead. with [set 40( or something, but how do >> you know at which position you use the shader module??... >> >> a solution for this would be to turn gemheads off and only trigger >> them >> by "bang" messages. >> >> ok, the only thing missing right now is a patch showing how this >> works >> in practice. I will do my best... >> >> marius. >> >> >> cyrille henry wrote: >>> >>> Pepa Henzl a écrit : >>>> Hello, >>>> I've just started with glsl languague and Gem this week. Everything >>>> works fine, but i'd like to know what to do if i want to apply >>>> multiple effects on a texture. >>>> Is it possible to render pix data to the texture, instead of >>>> current >>>> framebuffer window, and use it for further processing? >>> yes. >>> you need to render in a frambuffer, and then use it as a texture. >>> the gemframebuffer is almost undocumented, but there is an >>> exemple in >>> exemple/07.texture/10.frambuffer. >>> >>> i also rembermber that i send a patch on this list (or gem-dev) >>> regardinf the use of glsl + framebuffer. >>> >>> cyrille >>> >>> >>>> Thanks, >>>> pcp. >>>> >>>> _______________________________________________ >>>> PD-list@iem.at mailing list >>>> UNSUBSCRIBE and account-management -> >>>> http://lists.puredata.info/listinfo/pd-list >>>> >>>> >>> >>> _______________________________________________ >>> PD-list@iem.at mailing list >>> UNSUBSCRIBE and account-management -> >>> http://lists.puredata.info/listinfo/pd-list >>> >> >> > > > _______________________________________________ > PD-list@iem.at mailing list > UNSUBSCRIBE and account-management -> http://lists.puredata.info/ > listinfo/pd-list ------------------------------------------------------------------------ ---- "It is convenient to imagine a power beyond us because that means we don't have to examine our own lives.", from "The Idols of Environmentalism", by Curtis White _______________________________________________ PD-list@iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list