marius schebella a écrit :
cyrille henry wrote:
yes. i faild to render in a framebuffer and using it as a texture for next rendered frame (just like in my wawe exemple).
i think this should be more efficient than using pix_snap2tex.

if someone know how to do this...

maybe with pix_write_buffer, pix_read_buffer?
i want to use shader, so i don't think it will work.

don't have time to do more testing right now. what is the wawe exemple?
it's a phisical modeling wave exemple
here it is.

cyrille
marius.

_______________________________________________
PD-list@iem.at mailing list
UNSUBSCRIBE and account-management -> 
http://lists.puredata.info/listinfo/pd-list


Attachment: wave.pd
Description: application/extension-pd

void main()
{       
        gl_TexCoord[0] = gl_MultiTexCoord0;
        gl_Position = ftransform();             
}

uniform float K1,K3,D1;
uniform sampler2D texture;

const float dx = 1./1024.; 
const float dy = 1./1024.;

void main (void)
{
        float x,y;
        vec4 C;
        vec2 texture1 = gl_TexCoord[0].st ;

        x=texture1.x;
        y=texture1.y;

        C = texture2D(texture, vec2(x, y));
        vec4 color_cote  = texture2D(texture, vec2(x-dx, y-dy));
        color_cote += texture2D(texture, vec2(x+dx, y-dy));
        color_cote += texture2D(texture, vec2(x-dx, y+dy));
        color_cote += texture2D(texture, vec2(x+dx, y+dy));
        color_cote += texture2D(texture, vec2(x, y-dy));
        color_cote += texture2D(texture, vec2(x-dx, y));
        color_cote += texture2D(texture, vec2(x+dx, y));
        color_cote += texture2D(texture, vec2(x, y+dy));


        float K = K1 * color_cote.r + K3 * 0.5 - (8. * K1 + K3) * C.r;
        float D = D1 * (C.r - C.g);

        C.b = C.g;
        C.g = C.r;
        C.r = (2.* C.g) - C.b + K - D ;

        gl_FragColor = vec4(C.rgb,1.);
}
_______________________________________________
PD-list@iem.at mailing list
UNSUBSCRIBE and account-management -> 
http://lists.puredata.info/listinfo/pd-list

Reply via email to