[PD] [GEM]: GL Shader Language

Kyle Klipowicz kyleklip at gmail.com
Sat Jun 30 19:58:23 CEST 2007


This development would be insanely awesome! While I cannot contribute
directly, I will be closely following these developments, because I am
starting to see how using shaders with the GPU is about the only way
to make my poor slow G4 do anything cool!

~Kyle

On 6/28/07, Alexandre Quessy <listes at sourcelibre.com> wrote:
> Hi Vade !
> (I met you at NIME2007 right ? )
> You could write a little script that take the *.vert and *.frag files,
> plus the XML header that would be separate, and merge them in order to
> make a *.jxs file in order to use it in Jitter. The *.vert and *.frag
> could be used directly into Gem.
>
> Do the shaders included with Jitter allow copying like that ? I know
> that some come from samples from GPU making companies and are free to
> use, but some others are made by the Cycling 74' folks, and are not
> free to distribute with something else than Jitter. We would need to
> rewrite them... ;)
>
> We can use the PdMtlAbstractions SVN repository for this development.
> I would be quite happy about this. We could create a folder named
> gems/shader/* and put everything in there. I am also quite a lot into
> shaders these days, so I would be happy to see that happening. We
> would also share a lot of knowledge, you know. We could use the
> PdMtlAbstractions mailing list or I could create a new one. See
> http://wiki.dataflow.ws/PdMtlAbstractions and
> https://devel.goto10.org/pdmtl to know more. There is this abstraction
> that could be wrapped up :
> https://devel.goto10.org/pdmtl/browser/trunk/pdmtl/gems/glsl_shader.pd
> as I am getting quite good at not duplicating code, but using
> abstractions the right way instead. :) I plan to work a lot with
> shaders in the next year.
>
> How does it sound ? Anyone else is up for this ?
>
> a
>
>
>
> 2007/6/27, vade <doktorp at mac.com>:
> >  Hi. Hans pointed me to this thread off list. Im definitely interested in
> > porting some of my shaders to GEM, and making some easy to use abstractions
> > that you can plop down in the GEM processing chain.
> >
> > I actually emailed Chris Clepper off list earlier in the week regarding
> > this. It looks like, however, that GEM and Jitter handle some things
> > slightly differently, enough so where I may have to maintain more than one
> > version of the shader code for both environments, or, maybe im just dont get
> > whats going on. Either way im going to take a closer look at this friday. My
> > goal is to have interchangeable shaders (Jitter uses an XML file to describe
> > the parameters and declare what vertex and fragment program is loaded, but
> > besides that 'jxs' file, id like the .vert and the .frag to be basically
> > interchangeable). Id also include some basic abstractions for wrapping the
> > shaders so you could just drop a
> >
> > [v001.duotone] into the gem pipeline and get two tone processing for your
> > textures. etc etc.
> >
> > Once I get a basic set of shaders done that I am happy with, ill definitely
> > be releasing them to the GEM community as well. Im also pretty new with this
> > shader stuff, so expect some hiccups.
> >
> > Right now the shaders I am working on are:
> >
> >
> > Mixers : A/B with blendmodes like overlay/hardlight etc
> > Mixers : A/B/C where C is mask based on luma or alpha
> >
> > Effects:
> >  Black and White
> >  Texture clamping (makes cool lines in the middle of the image)
> >  Color Separator (separate r g b planes in x/y)
> >  Dent
> >  Duotone
> >  Exposure
> >  Fader (fade to black/white, nice at the end of a processing chain)
> >  Light Tunnel
> >  Pinch
> >  Posterize
> >  Shred (interesting pattern/repetition creation)
> >  Stretch
> >  Threshold (high contrast colors)
> >  Twirl
> >
> >  and some more
> >
> > 3D shaders
> >
> >  Vertex noise
> >  Normal Map
> >  Sin distortion
> >
> > Because Jitter has a library of already created shaders, I may port some of
> > those over so GEM folks have them as well, like saturation, contrast,
> > brightness, and so on. The basics.
> >
> > Peace :)
> >
> >
> >
> >
> > On Jun 26, 2007, at 3:09 PM, Cypod wrote:
> >
> > What books or webpages are out there for learning how to write glsl
> > shaders, for use in 3D?
> >
> > http://en.wikibooks.org/wiki/Programming:OpenGL
> >
> > Has anyone read this one OpenGL(R) Shading Language (2nd Edition)
> > http://tinyurl.com/ysun6z
> >
> >
> > Are there any third party applications for writing glsl shaders that
> > can be easially ported over to PD?
> >
> >
> >
> > On 6/26/07, Cypod <cypod25 at gmail.com> wrote:
> > I am hoping to learn more about programming by using PD, but it would also
> > be nice to crank out some good looking shaders in a timely manner
> >
> >
> >
> >  On 6/25/07, Alexandre Quessy <listes at sourcelibre.com> wrote:
> > HI Cyrille and others.
> >
> > I modified the abstraction to make opening the two files easier. It
> > uses file/parentfolder from the PdMtlAbstractions. (try it !! It
> > answers your question)
> >
> > For the C programming and such, I just meant that it is nice if we can
> > tend to make Pd easier to use for people that are not that much used
> > to advanced programming. A good documentation and a nice structure
> > helps a lot...
> >
> > a
> >
> > 2007/6/23, cyrille henry < cyrille.henry at la-kitchen.fr>:
> >
> >
> > Alexandre Quessy a écrit :
> > Eh Jack !
> > Very nice examples, yes. Cyrille, do you think that one should
> > understand C programming in order to use Pd? I don't.
> > i don't see your point here.
> > glsl programming is not very diferent from C. So, understanding C is
> > good for learning glsl.
> >
> > but you don't nead glsl in order to use pd.
> > you just need glsl if you want to do very heavy pixel processing at
> > 50fps / 1024x768 without using any  CPU time by exemple.
> >
> >
> >
> >
> > Of course, its
> > low-level orientation makes it perfect for someone to learn lower
> > level stuff.
> >
> > Anyways, I added an abstraction for shaders in the PdMtlAbstractions.
> > See https://devel.goto10.org/pdmtl/browser/trunk/pdmtl/gems
> >
> > cut / paste the help file is (for me) easier to use, as i usually put
> > the shader in in the same directory as my patch, so i don't nead to provide
> > the full path for the shader. (and the patch could run on other computer
> > without changing all path).
> >
> > is there a solution for an abstraction to know the directory of it's
> > parent patch?
> >
> >
> > cyrille
> >
> >
> >
> > a
> >
> >
> > 2007/6/19, jack at rybn.org <jack at rybn.org>:
> > Yep, very interesting example !
> > You can "boost" Gem with glsl object.
> > Is there workshop in Paris about that Cyrille ?
> > I think, that it would be interesting to do.
> >
> > Jack
> >
> >
> >
> >
> > Hans-Christoph Steiner a écrit :
> >
> > On Jun 17, 2007, at 6:58 AM, cyrille henry wrote:
> >
> >
> > hello,
> >
> >
> > Kyle Klipowicz a écrit :
> > Ooop please send any elementary examples of these things.
> >
> >
> > i post a few very diferents shader and the pd patch to use them
> > here :
> >
> >
> > http://drpichon.free.fr/gem_glsl_ch_200070617.zip
> >
> > Wow, these are some nice examples, these should be included in the
> > "examples" section of Pd-extended.
> >
> >
> >
> > well, i think i should clean up some code and check licence for the
> > shader
> > i did not write.
> > where should i put them in order to include them in pd-extended?
> >
> > cyrille
> >
> >
> > .hc
> >
> >
> >
> >
> >
> > I got
> > confused by the Gem docs (they don't explain OpenGL as
> > thoroughly as
> >
> >
> >
> >
> > the vanilla Pd-docs explain DSP).
> >
> > Gem doc aim is to explain gem specific stuf. but in order to use
> > Gem,
> >
> >
> >
> > you also need a good openGL book.
> > (you can find lot's of them)
> >
> > cyrille
> >
> >
> >
> >
> > ~Kyle
> >
> > On 6/17/07, cyrille henry <cyrille.henry at la-kitchen.fr> wrote:
> > hello,
> >
> > Alexandre Quessy a écrit :
> > Hi all !
> > The Toon.vert and Toon.frag shaders don't seem to work quite
> > well
> >
> >
> >
> >
> >
> > here. I only get some kind of darker or lighter grey depending
> > on
> >
> >
> >
> >
> >
> > the
> > value of the "Phong" variable I set it to have. I am using
> > Pd-extended
> > 0.39-2 test 5 on Ubuntu Linux Intel. Gem is 0.91-cvs compiled
> > on Mar
> >
> >
> >
> > 16 2007. Should I generate something any better ?
> > this is exactly what the toon shader is aiming to do.
> > look at it's code to undersant why.
> >
> >
> >
> > Anyone has an other GLSL shader to suggest to try it with ?
> >
> > yes, google has a lot.
> >
> > i have a few other exemple on my computer, tell me if you're
> > looking
> >
> >
> > for some specific stuf.
> >
> >
> > cyrille
> >
> >
> >
> >
> > Thanks !!
> >
> > a
> >
> > 2007/6/16, chris clepper <cgclepper at gmail.com>:
> > GEM is a bit easier to deal with for shaders since there is
> > no
> >
> >
> > need
> >
> >
> > to do
> >
> > any specific wrapper.  Any ARB_ vertex or fragment shader and
> > any
> >
> >
> >
> >
> >
> > GLSL
> > shader you find on the web can work in GEM without
> > modification.
> >
> >
> >
> >
> > In some
> >
> > cases you might need to change something in the shader text
> > to
> >
> >
> > deal
> >
> >
> > with
> >
> > rectangle vs 2D textures.
> >
> >
> > On 6/16/07, Cypod <cypod25 at gmail.com> wrote:
> >
> > On the cycling74 webpage there is an interesting article
> > about
> >
> >
> >
> >
> > writing
> >
> > shaders for jitter:
> >   http://cycling74.com/story /2007/5/23/181113/507
> >
> >
> >
> >
> > is there a similar function available for GEM? Has anyone
> > had
> >
> >
> >
> >
> > experience
> >
> > with doing this?
> >
> >
> > _______________________________________________
> >
> >
> >
> >
> >
> >
> > 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
> >
> >
> >
> >
> >
> >
> > _______________________________________________
> > PD-list at iem.at mailing list
> > UNSUBSCRIBE and account-management ->
> > http://lists.puredata.info/listinfo/pd-list
> >
> >
> >
> >
> >
> >
> >
> > ------------------------------------------------------------
> > ----------------
> >
> >
> >
> >
> >
> >
> >
> >
> >
> > http://at.or.at/hans/
> >
> >
> >
> >
> >
> >
> >
> >
> >
> > _______________________________________________
> > PD-list at iem.at mailing list
> > UNSUBSCRIBE and account-management ->
> > http://lists.puredata.info/listinfo/pd-list
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >
> > --
> > Alexandre Quessy
> > http://alexandre.quessy.net
> > http://www.puredata.info /Members/aalex
> >
> > _______________________________________________
> > PD-list at iem.at mailing list
> > UNSUBSCRIBE and account-management ->
> > http://lists.puredata.info/listinfo/pd-list
> >
> >
> >
> >
> >
> > --
> > B~
> > www.cypod.co.nr
> >
> >
> > --
> > B~
> > www.cypod.co.nr
> >
> > _______________________________________________
> > PD-list at iem.at mailing list
> > UNSUBSCRIBE and account-management ->
> > http://lists.puredata.info/listinfo/pd-list
> >
> > v a d e //
> >
> > www.vade.info
> > abstrakt.vade.info
> >
> >
> >
> >
> > _______________________________________________
> > PD-list at iem.at mailing list
> > UNSUBSCRIBE and account-management ->
> > http://lists.puredata.info/listinfo/pd-list
> >
> >
>
>
> --
> Alexandre Quessy
> http://alexandre.quessy.net
> http://www.puredata.info/Members/aalex
>
> _______________________________________________
> PD-list at iem.at mailing list
> UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list
>


-- 
-----
------------
    ----     -----
---- -------- - ------
http://perhapsidid.wordpress.com




More information about the Pd-list mailing list