может показаться, что OpenGL достаточно для ваших нужд (рисование модели определенного цвета и размера).
Если вы новичок в OpenGL и не собираетесь использовать его для своих будущих проектов, возможно, будет проще использовать старый конвейер с фиксированными функциями, у которого уже есть готовая система освещения и цвета и она не ' не требуется, чтобы вы научились писать шейдеры.
Для вашего проекта вам понадобится текстура, в которую вы бы скопировали изображение с камеры, используя glTexSubImage2D (), которую вы, в свою очередь, рисовали бы на фоне (или вы можете использовать glDrawPixels (), если вам не требуется масштабирование) , После этого вам необходимо иметь свою модель в комплекте с нормалями освещения. Модели могут быть, например. экспортируется из Blender или 3DS Max в формат ascii, который довольно легко разобрать. Тогда вы можете нарисовать модель. Цвета могут быть изменены с помощью glColor3f () перед рисованием модели (убедитесь, что вы не указали другой цвет при рисовании модели). Позиционирование моделей осуществляется с использованием матриц. В старом OpenGL есть несколько удобных и простых в использовании функций для поворота и перемещения объектов. Есть также функции для масштабирования объектов (изменения размера), так что это довольно просто. Все, что вам нужно, это выяснить положение камеры относительно маркера (который, я считаю, реализован в OpenCV).
Если бы вы использовали OpenGL с прямой совместимостью, вам нужно было бы настроить объекты буфера вершин, содержащие данные модели, и написать вершинные и фрагментные шейдеры для затенения и отображения вашей модели. Это своего рода дополнительная работа, за которую вы получаете расширенную гибкость. Но вы также можете использовать шейдеры в старом OpenGL, если решите, что они вам нужны (например, для некоторых спецэффектов).
Изучение того, как использовать сценограф или движок (людоед), может занять некоторое время, я бы не рекомендовал его для вашей задачи.