Що таке анімація і з чим її їсти, якщо OpenGL

Spine C runtime. https://github.com/EsotericSoftware/spine-runtimes. Це не срібна куля та не ідеальні практики. Мабуть, у плані коду це приклад навпаки, як код писати точно не треба. Але ось у плані реалізації анімацій ця ріпка тобі дуже допоможе.

Суть така. Є модель, вона статична. Є відрізок часу (таймлайн), у цьому відрізку є точки - ключові кадри. Ключовий кадр несе в собі інформацію про те, яку частину моделі та як змістити. Чим простіше інструкція у ключовому кадрі, тим зручніше. Масштаб, поворот і зміщення багато хто любить розділяти за різними таймлайнами. OGL у цій справі не потрібен, до певного часу.

Найбільш зерно скелетної анімації в тому, що модель залишається моделлю, анімуються тільки кістки скелета. І саме анімація кістки призводить до переміщення фрагмента міша.

Тільки на одній скелетній анімації далеко все одно не поїдеш. Коли потрібно на одній моделі одночасно задіяти відразу кілька скелетних анімацій, якщо зробити в лоб, то міш попливе на всі боки. Для змішування різних скелетних анімацій застосовують так звані Blend Trees (посилань під рукою нема, так що соррі).

Загалом, як так анімація виглядає. Анімуємо у циклі оновлення, вершини трансформуємо у момент формування кадру. OGL нам потрібен, власне, щоб намалювати розкорячений анімацією міш. OGL для безпосереднього анімування мішей тобі знадобиться тільки тоді, коли ти досить глибоко пірнеш в анімації, в той же момент ти вже повністю зрозумієш, що від OGL знадобиться для цього.