[GEM-dev] frambuffer does change the scene perspective
cyrille henry
cyrille.henry at la-kitchen.fr
Sun May 25 16:09:06 CEST 2008
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 at iem.at
>> http://lists.puredata.info/listinfo/gem-dev
>
>
>
More information about the GEM-dev
mailing list