Я реализовал загрузку модели MD5 со скелетной анимацией, и она отлично работает. Сейчас я пытаюсь улучшить игровой цикл, чтобы все прошло гладко и правильно выбрал время.
Я читал о различных игровых циклах, а затем реализовал лучший, который читал по следующему сценарию:
accumulatedTime += timer.elapsed();
nLoops = 0;
processInputs();
while (accumulatedTime >= dt && nLoops < maxSkipFrames)
{
updateGame(dt/20.0);
accumulatedTime -= dt;
nLoops++;
}
timer.reset();
Я реализую скелетную анимацию ЦП, чтобы обновлять все вершины и нормали в каждом кадре.
метод updateGame(dt)
обновляет вершины меша на основе анимации скелета, это должно занять некоторое время и добавить его к времени анимации для обновления вершин.
в моей реализации игрового цикла есть что-то не так, что скорость обновления на разных устройствах различается.
Я использую OpenGL с C ++ на Android.