Sign in to follow this  
Blainster

3d Local Axis Rotation Problem

Recommended Posts

Hi. I have a 3d rotation problem that really shows up my lack of 3d knowledge lol. I'm trying to move a camera around using the arrow keys. Left-right arrow is supposed to rotate about local camera z axis, and up-down around local x-axis. But this code seems to rotate around the origin. Is it something to do with the order of operations? Any help greatly appreciated. //===================================================== SwitchTo3D(WINDOW_WIDTH, WINDOW_HEIGHT); glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); /// Load ship Position Matrix (camera) XFORM3D m; XForm3D_SetIdentity(&m); XForm3D_RotateZLocal(&m, Float_DegToRad(AngleZ)); XForm3D_RotateXLocal(&m, Float_DegToRad(AngleX)); XForm3D_SetTranslation(&m, Pos.x, Pos.y, Pos.z); glLoadMatrixf((GLfloat *)&m); DrawPlanet(Pos); //=====================================================

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this