Я работал с проектом, который читает файл данных, выполняет некоторые вычисления и показывает результаты на стандартном выходе. Позже я хотел дать 3D-графическое представление результатов, поэтому я создал новый проект OpenGL, который показывает данные как 3D-объект.Интеграция проекта C++ OpenGL с другим проектом C++
Теперь проблема заключается в том, что я не могу понять, как интегрировать эти два независимых проекта, потому что main()
в моем проекте OpenGL идет в бесконечном цикле glutMainLoop()
, и я не могу определить, куда поместить цикл в main()
моего первого проекта!
/**** Proj1 ****/
int main()
{
while(ESC key not pressed)
{
// read data file
// do some processing
// show results on standard output
}
}
/**** Proj2 ****/
int main()
{
glutInit(&argc, argv);
Init();
glutDisplayFunc(Display);
glutKeyboardFunc(Keyboard);
glutMouseFunc(Mouse);
glutIdleFunc(Idle);
glutMainLoop();
}
наименее смешение кодов между proj1 & proj2 запрашивается. Можно ли сделать что-то вроде:
/**** Proj1 ****/
#include <filesFromProj2>
int main()
{
while(ESC key not pressed)
{
// read data file
// do some processing
proj2.showResult(result) // how to do this ?
}
}
Большое спасибо за быстрый ответ. Я не знал о GLFW. Большинство учебников, которые я читал, использовали GLUT или FreeGLUT. будет изучать GLFW. Это помогло бы больше, если бы вы могли сказать, когда Proj1 воспроизводит видео с использованием OpenCV, а Proj2 - это регенерация объекта OpenGL, как я могу делать оба параллельно (где obj redering зависит от результата обработки img видеокадры). Пример псевдо-кода поможет больше. – kernelman
Я сделал это, используя функцию glutMainLoopEvent() freeglut. Но спасибо за знакомство с GLFW. Будет использовать его для моего следующего проекта. – kernelman