Заставить объект следовать за камерой в OpenGL

Я делаю игру для гоночных автомобилей в OpenGL (просто небольшой проект), и у меня возникают проблемы с попыткой заставить мою машину следить за камерой.

Было нетрудно заставить его следовать за камерой, когда камера движется вперед и / или назад, но когда я поворачиваю камеру (смотри вправо или влево), машина остается неподвижной. Я имею в виду, что он все еще движется вперед и назад, но он не перед камерой (он сбоку).

Вот мой код (часть, где я пытаюсь его реализовать):

void updateCam() {
    gluLookAt(posX,posY + 0.025 * std::abs(sin(headPosAux*PI/180)),posZ,
        posX + sin(roty*PI/180),posY + 0.025 * std::abs(sin(headPosAux*PI/180)) + cos(rotx*PI/180),posZ -cos(roty*PI/180),
        0.0,1.0,0.0);

    listenerPos[0] = posX;
    listenerPos[1] = posY;
    listenerPos[2] = posZ;

    source0Pos[0] = posX;
    source0Pos[1] = posY;
    source0Pos[2] = posZ;

    GLfloat distD;

    distD = posZ - 3.3;


    //makes the car "follow" the camera
    modelPOR.Translate(posX,posY,distD);

}

Ответы на вопрос(1)

Ваш ответ на вопрос