[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