На самом деле «перемещение сцены вокруг камеры» является правильным способом в OpenGL.
Это связано с тем, что OpenGL объединяет матрицы вида и модели в матрицу вида модели.(смотрите здесь для более подробной информации)
Очевидно, что функция lookat (как упомянуто выше) является простым способом перемещения (виртуальной) камеры, но я обнаружил, что она не работает для OpenGL3.
Я бы предложил использовать превосходную библиотеку glm для настройки матриц преобразования для OpenGL3.
С уважением, Флориан