oups, wrong one.
Le 21/03/2012 22:52, Cyrille Henry a écrit :
oups.
this one should work better.
cheers
cyrille
Le 21/03/2012 22:00, Florian Grond a écrit :
hello cyrille,
the glsl_fragment does not like the new shader if I bang it I get:
compile info log:
ERROR: 0:43: '!=' wrong operand types
ERROR: 0:45: '!=' wrong operand types
ERROR: 0:57: '!=' wrong operand types
ERROR: 0:59: '!=' wrong operand types
there is a type problem between float and constant int
so it says shader not loaded,
Cheers,
Florian
On 3/21/12 4:07 PM, Cyrille Henry wrote:
hello,
it look like a bug in the original shader.
thanks for reporting it.
this shader should work.
could you test it so that i commit it if it's ok.
BTW, the fade control is for both right and left.
so it can be twice what the user expect.
i.e if you want 10 pixel shade on the right, so 10 pixel shade also on
the left, you have to set overlap to 20.
maybe i should change that.
feedback welcome.
Cheers
Cyrille
Le 21/03/2012 19:30, Florian Grond a écrit :
Here I could reproduce the problem with the example patch, having it
extended over the tripple head projectors.
I basically see the shading again only if I drive the overlap to
extremely many pixels.
I was wondering if this might have something to do with the texturing
mode rectangle anywhere?
I modified the the [flat_projection] so that I could define an offset
for the windowcreation.
Thanks for any help,
Best,
Florian
On 3/21/12 1:49 PM, Cyrille Henry wrote:
hello,
would it be possible to see your patch?
that would be easier to help.
Cyrille
Le 21/03/2012 18:15, Florian Grond a écrit :
Hello Jack,
01.flat_projection-help.pd seems to work.
I see either as 4 by 1 or 2 by the fractal image with decreasing
intensity at the edges giving a fade into black.
I looked into the guts of [flat_projection]
and if I send the print message to the glsl_fragemnet and the
glsl_program I get lots of info about user variable uvar#1 to uvar#4
I'm usin PD extended 0.42.5
I compiled GEM from the sources 0.93.3 (added some handmade classes)
My GPU NVIDIA GeForce 7300 GT
My screen size is 1280 * 1024
geometry is x 3 y 1
I would like to have an overlap of about 10 - 15 pixels
In my installation I see that I get a fade into black only if I
increase the overlap to very high numbers up to have the size of my x
dimension. So I conclude the fade into black is just too weak.
How could I change that?
Thanks,
Florian
So I think the GPU model is ok
On 3/20/12 6:51 PM, Jack wrote:
Le 20/03/2012 21:07, Florian Grond a écrit :
Dear List,
I'm currently working on a horizontal 3 screen projection (tripple
head) and I'm using the multiscreen projection flat projection
abstraction from Cyrille.
The overlap is working nicely but I don't get the it to fade. i.e. I
see a vertical stripe of overlap with higher intensity.
Any help or pointer where to look for solutions very much
appreciated.
Cheers,
Florian
Hello Florian,
Can you tell us your configuration (Pd, Gem, GPU model) ?
Have you a problem with the example 01.flat_projection-help.pd' ?
++
Jack
_______________________________________________
GEM-dev mailing list
[email protected]
http://lists.puredata.info/listinfo/gem-dev
_______________________________________________
GEM-dev mailing list
[email protected]
http://lists.puredata.info/listinfo/gem-dev
// Cyrille Henry 2010
//#extension GL_ARB_texture_rectangle : enable
//uniform sampler2DRect MyTex;
uniform sampler2D MyTex;
uniform vec2 overlap, geometry_screen, geometry_computer;
void main (void)
{
// FSAA
// change coord from computer matrix to screen matrice
vec2 coord = (gl_TextureMatrix[0] * gl_TexCoord[0]).st;
vec2 pos_new = coord;
pos_new *= geometry_computer;
float screen_num = floor(pos_new.x)+floor(pos_new.y)*geometry_computer.x;
// number of the screen
pos_new = fract(pos_new); // coord in 1 screen (from 0 to 1)
pos_new.x += fract(screen_num/geometry_screen.x)*geometry_screen.x;
pos_new.y += floor(screen_num/geometry_screen.x);
pos_new /= geometry_screen;
// compute position regarding to the overlap
vec2 pos = pos_new;
pos *= geometry_screen;
vec2 pos_over = fract(pos);
pos_over *= overlap;
pos_over -= overlap/2.;
pos += pos_over;
pos += overlap/2.;
pos /= geometry_screen + overlap;
vec4 color = texture2D(MyTex, pos);
// compute fade on Top and Right
vec2 black = pos_new;
black *= geometry_screen;
black = fract(black);
black *= 1. + (overlap/ (geometry_screen/2.));
black -= 1.;
black = max(black,0.);
black *= (geometry_screen / 2.) / overlap;
if ( ( floor(pos_new.x*geometry_screen.x) < geometry_screen.x-1. ) &&
(overlap.x != 0.) )
color *= (1.-black.x);
if ( ( floor(pos_new.y*geometry_screen.y) < geometry_screen.y-1. ) &&
(overlap.x != 0.) )
color *= (1.-black.y);
// compute fade on Left and bottom
black = pos_new;
black *= geometry_screen;
black = fract(black);
black = vec2(1.) - black;
black *= 1. + (overlap/ (geometry_screen/2.));
black -= 1.;
black = max(black,0.);
black *= (geometry_screen / 2.) / overlap;
if ( ( floor(pos_new.x*geometry_screen.x) > 0. ) && (overlap.x != 0.) )
color *= (1.-black.x);
if ( ( floor(pos_new.y*geometry_screen.y) > 0. ) && (overlap.x != 0.) )
color *= (1.-black.y);
gl_FragColor = color;
}
_______________________________________________
GEM-dev mailing list
[email protected]
http://lists.puredata.info/listinfo/gem-dev