Хочу сделать простую анимацию в OpenGL. Но не понял как сделать движение нескольких объектов. Допустим у меня будет несколько кругов которые должны изменять свои координаты примерно так Код (Text): int X = getRandomNumber(R, 500 - R); // x - координата int Y = getRandomNumber(R, 500 - R); // y - координата float angle = getRandomNumber(0, 360) * 3.14 / 180; // угол int Vx = V * sin(angle); int Vy = V * cos(angle); while (key != 'q') { X += Vx; Y += Vy; if (X > 500 - R) { X = 500 - R; Vx = -Vx; } if (Y > 500 - R) { Y = 500 - R; Vy = -Vy; } if (Y < R) { Y = R; Vy = -Vy; } if (X < R) { X = R; Vx = -Vx; } ... } где Vx, Vy - составляющие скорости, R - радиус круга, 500 - размер окна Может кто-нибудь накидать простой пример как это сделать. Я пробовал, но у меня при применении функций преобразования "смещается" вся сцена.
gehedzh Советую взять книгу и почитать. Ф.Хилл OpenGL. Программирование компьютерной графики. OpenGL собственно как и DirectX машина состояний. Она помнит предыдущее состояние тех пор пока ты не изменишь его. Поэтому у тебя вся сцена и крутиться. Тебе надо перед выводом нового объекта устанавливать единичную матрицу вида. Либо делать обратное преобразование либо использовать стек матриц. Или если у тебя один объект движутся относительно другого, то делать просто соответствующие преобразования.