FORUM CLOSED, PLEASE REGISTER AT FORUM.SIO2INTERACTIVE.COM
Would you like to react to this message? Create an account in a few clicks or log in to continue.

_SIO2window->scl filled incorrectly

Go down

_SIO2window->scl filled incorrectly Empty _SIO2window->scl filled incorrectly

Post  Faikus Mon Jun 08, 2009 8:47 am

Hi,

I think _SIO2window->scl is supposed to contain the width and height of the viewport. However, the way it is filled in sio2WindowUpdateViewport is only correct if the viewport is at 0,0:

Code:

   _SIO2window->scl->x = ( float )( _SIO2window->mat_viewport[ 2 ] - _SIO2window->mat_viewport[ 0 ] );
   _SIO2window->scl->y = ( float )( _SIO2window->mat_viewport[ 3 ] - _SIO2window->mat_viewport[ 1 ] );

This code assumes that mat_viewport[2] is the right x coordinate and mat_viewport[3] the upper y coordinate of the viewport, but it really is the width and height, respectively. I am trying to render a second, smaller viewport on top of my main full-screen one, and this bug leads to a messed up aspect.

I replaced the two lines with
Code:

   _SIO2window->scl->x = ( float ) _SIO2window->mat_viewport[ 2 ];
   _SIO2window->scl->y = ( float ) _SIO2window->mat_viewport[ 3 ];
although I think simply
Code:

   _SIO2window->scl->x = _w;
   _SIO2window->scl->y = _h;
would work as well.
The aspect looks okay now. However, seeing how _SIO2window->scl is used in sio2, it seems it is sometimes used as width and height (e.g. in sio2CameraSetPerspective) and sometimes as the upper right viewport coordinates (e.g. sio2WindowEnter2D, since glOrthof expects the upper right coordinates).

I saw that you have used a viewport in your pretty cool freestyle engine demo, so you must have come across these issues already. Did you solve them in 1.3.6? Do you have an up-to-date list of changes for 1.3.6? This would save time, as tracking down such things can be quite lengthy.

Faikus

Posts : 23
Join date : 2009-05-26
Location : Berlin

Back to top Go down

Back to top


 
Permissions in this forum:
You cannot reply to topics in this forum