В своем исследовании OpenGL (я думаю, что Красная книга OpenGL) я натолкнулся на пример модели шарнирного манипулятора робота, состоящего из «плеча», «плеча», «руки» и пяти. или больше "пальцев". Каждая из секций должна быть в состоянии двигаться независимо, но ограничена «суставами» (верхние и нижние «руки» всегда соединены в «локте»).
В непосредственном режиме (glBegin / glEnd) они используют одну сетку куба, называемую «член», и используют масштабированные копии этой единственной сетки для каждой части руки, руки и т. Д. «Движения» были достигается путем нажатия поворотов на стек матрицы преобразования для каждого из следующих суставов: плечо, локоть, запястье, костяшка - вы получите изображение.
Теперь это решает проблему, но, поскольку он использует устаревший устаревший немедленный режим, я пока не понимаю решения этой проблемы в современном контексте OpenGL. У меня вопрос: как подойти к этой проблеме, используя современный OpenGL? В частности, должен ли каждый отдельный «член» отслеживать свою собственную текущую матрицу преобразования, поскольку стеки матриц уже не кошерны?