[GEM-dev] frambuffer does change the scene perspective

cyrille henry cyrille.henry at la-kitchen.fr
Sun May 25 22:17:40 CEST 2008


hello,
i realise that my code is not doing what i wanted.

currently, the perspective is set in the gemwin, and it is reset in the gemframebuffer.
the code i put in my original mail reset the framebuffer perspective to be the same as the rendering windows.
what we need is to have 2 different perspective : 1 for the gemwindow, and 1 for the framebuffer. the latter sould also be optionally changed by the user.

i must say that i can't find how do this.
i tried to change GemMan.cpp, but did not find where does the pb comes from.
any help is welcome.


cyrille


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.
> 
> 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