Recommended Posts

HI!!
I have been rewriting my project and i decided to split 3d orientation from my model class and camera to make one plugable 3D class that can be plugged anywhere where some object need to be in 3d space.
I made some switches (By switches i mean bool variables):
isRotationRelative (does model rotate around his local axis or global axis)
,isTranslationRelative (same as above but for moving )
,isFixedHeight (Does it stay on some fixed Y-axis height)
, and isUpright (To prevent rolling - needed for camera).
I have done everything except last, models rotate ok, move rotate ..
Problem is when I puted this class in camera and moving mouse in circles
(calling MouseMove(float x,y) func ) the world rolls on the side of the circling.
That's ok for relative movement and NOT isUpright but when i set isUpright to true
strange thing happen ( model becomes extra thin (like 3dsprite)or extra fat depending on the mouse movement )
here is code for isRelativeMovement = true and isUpright = true