Easy Flyby

Hi there… I’m almost giving up… :frowning:

Can you help me to write a camera movement in a 3d space? I got my context ok, but i really can’t make the whole yaw, pitch, cos’s and sin’s thing getting in the work…

And it will by totally unbeliaveble, if I can control the camera’s rotation via mouse… Like 1st person engines…

I have been trying this for months and no success at all

Can somebody share some code??!?! I’ve made a lot of searchs through the forum, but no good.

Please, please… Save me!!!
:frowning: (

This may be more of a heavy-handed solution than you are looking for but …

You could try looking at the source for Producer::Camera that’s used by OpenSceneGraph. Once you download the source … look at …/Producer/include/Producer/Camera and …/Producer/src/Camera.cpp.

For OpenSceneGraph go to http://openscenegraph.sourceforge.net.

For Producer go to http://www.andesengineering.com/Producer/index.html

no man… I guess you are just making way more dificult.

just, i dont know, throw some pseudo code here…
:frowning: :frowning: :frowning:

void FirstPersonView( vec3 camera, float yaw, float pitch, float roll ) 

// 90 degree field of view in y
// near_z = 1 far_z = 8000
glMatrixMode( GL_PROJECTION );
glFrustum( -width/height, width/height, -1, 1, 1, 8000 );
glMatrixMode( GL_MODELVIEW );
glRotatef( -roll,  0, 0, 1 ); // around forward
glRotatef( -pitch, 1, 0, 0 ); // around right
glRotatef( -yaw,   0, 1, 0 ); // around up
glTranslatef( -camera.x, -camera.y, -camera.z );

nice… almost there…

how can i find the roll, yaw, pitch ?

just keep track of them for the player…

player looks left-right, then change yaw

player looks up-down, then change pitch

player looks leans left-right, then change roll

easy! :slight_smile:

Yeah! Its very easy indeed.

But HOW can i calculated then???

thank you guys!

if player moves mouse in xy

player.yaw -= mouse_x - old_mouse_x

player.pitch -= mouse_y - old_mouse_y

then warp mouse xy back to center of screen

nice… almost there…

by the way, do you know how to center the mouse in java?

sorry, no i don’t. i think it’s through the IUIComponent class, but not sure…