Предполагая, что вы знаете, что не получите тот же результат от ваших часов TAG Heuer (из-за частоты обновления), вы должны интерполировать время в соответствии с вашими потребностями.
Чтобы упростить ситуацию, я попытаюсь продемонстрировать указатель, который делает один круг каждую секунду.
- Шаг 1: получите истекшее время (при условии, что каждая единица составляет 1/100 секунды). Пример значения: 234 (в нашем масштабе 2,34 секунды).
- Шаг 2: Сократите его до истекшего времени в пределах вашего таймфрейма. (если вы измеряете 1/100 секунды, вы уже использовали 200 для 2 полных кругов, вам нужно только получить его). В нашем случае: 34. Как получить? В С:
234 % 100 = 34
.
- Шаг 3: Поверните свои координаты соответственно: в чистом OpenGL: glRotatef
(((float)34/100)*360, 0, 1, 0);
(вращается вокруг оси Y. OpenGL использует градусы, поэтому полный круг = 360).
- Шаг 4: Нарисуйте указатель
- Шаг 5. Начните все сначала (поскольку вы снова извлекаете время на шаге 1, вы перерисовываете указатель на новом месте).
Помните, что это всего лишь фаза "рисования", а шаг 5 является лишь следствием вашего цикла выполнения и проиллюстрирован только для пояснения.
Надеюсь, это поможет вам начать. Если вам нужно больше подробностей, просто прокомментируйте ответ, и я постараюсь вам помочь!