Jack a écrit :
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 ?
yes, fixing this bug + adding a message to get compatibility with old patch is certainly a good solution. what do developers think?
cyrille
++
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@iem.at http://lists.puredata.info/listinfo/gem-dev