[GEM-dev] frambuffer does change the scene perspective

cyrille henry cyrille.henry at la-kitchen.fr
Sun May 25 14:23:10 CEST 2008


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

               




More information about the GEM-dev mailing list