Im creating a minigame something like RPG and i want to make camera that follow my character.My problem is that object “postac” is moving forward and backward with camera correctly but when i want to look left or right i doesnt change what im doing wrong ?How to use this rotatef function or what to change pls help me. Ive heard about that i need to rotate world around my object but how ?! If u want to check how it works download and run zegar.exe file from my dropbox a
void Display()
{
glClearColor (0.0,0.0,0.0,1.0);
if (deltaMove)
computePos(deltaMove);
if (deltaAngle)
computeDir(deltaAngle);
glClear(GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT);
glMatrixMode(GL_MODELVIEW);
glLoadIdentity();
gluLookAt( x, 1.0f, z,
x+lx, 1.0f, z+lz,
0.0f, 1.0f, 0.0f);
glTranslatef( 0, -40, -10 ) ;
niebo(); //sky
makieta();// my world
glTranslatef( x+lx, 1.0f, z+lz ) ;
postac(); //my character
glutSwapBuffers();
}
void computePos(float deltaMove) {
x += deltaMove * lx * 0.1f;
z += deltaMove * lz * 0.1f;
}
void computeDir(float deltaAngle) {
angle += deltaAngle;
lx = sin(angle);
lz = -cos(angle);
}
void pressKey(int key, int xx, int yy) {
switch (key) {
case GLUT_KEY_LEFT : deltaAngle = -0.005f; break;
case GLUT_KEY_RIGHT : deltaAngle = 0.005f; break;
case GLUT_KEY_UP : deltaMove = 0.5f; break;
case GLUT_KEY_DOWN : deltaMove = -0.5f; break;
}
}
void releaseKey(int key, int x, int y) {
switch (key) {
case GLUT_KEY_LEFT : deltaAngle = 0.0f;break;
case GLUT_KEY_RIGHT : deltaAngle = 0.0f;break;
case GLUT_KEY_UP : deltaMove = 0;break;
case GLUT_KEY_DOWN : deltaMove = 0;break;