[GEM-dev] frambuffer does change the scene perspective
Jack
jack at rybn.org
Sun May 25 15:30:22 CEST 2008
Le 25 mai 08 à 14:23, cyrille henry a écrit :
> hello,
> when using a framebuffer in a patch, the perspective of the main
> windows is change to (-1, 1) in X and Y.
> So it's no more possible to use custom perspective (sending the
> perspec message to gemwin is useless).
> moreover, the perspective used lead to distorted images when the
> gemwin is not square.
>
> fixing this is quite easy, but will break all patch using
> frambuffer with a not square gem windows.
> so, i'm wondering if i should commit the fix.
I prefer when [gemframebuffer] doesn't distort the image when the
gemwin is not a square.
Maybe it is possible to use an option (by default 'distort 1') for
old patches and turn to 'distort 0' to get a normal image (without
distort when the gemwin is not a square).
What do you think about this ?
++
Jack
>
> the fix is mainly to replace line 145 of gemframebuffer.cpp :
>
> glFrustum(-1,1,-1,1,1,25);
>
> with :
>
> float xDivy = (float)GemMan::m_w / (float)GemMan::m_h;
>
> glFrustum(GemMan::m_perspect[0] * xDivy, GemMan::m_perspect[1] *
> xDivy, // left, right
> GemMan::m_perspect[2], GemMan::m_perspect[3], //
> bottom, top
> GemMan::m_perspect[4], GemMan::m_perspect[5]); //
> front, back
>
> but it need to add
> #include "Base/GemMan.h"
>
> and to move
> static int m_w;
> static int m_h;
> from private to public in GemMan.h
>
> should i commit this?
>
> cyrille
>
>
>
> _______________________________________________
> GEM-dev mailing list
> GEM-dev at iem.at
> http://lists.puredata.info/listinfo/gem-dev
More information about the GEM-dev
mailing list