Доброе время суток, уважаемые коллеги!
Вчера вечером, я и мои товарищи по работе столкнулись с проблемой:
Используя Visual Studio 2015 — делаем юнит-тест, как описано здесь
https://msdn.microsoft.com/en-us/library/hh598953.aspx
Наш проект, использующий OpenGL (freeglut, etc.), не работает нормально.
Но процедура , которая должна запускать отрисовку в окне не запускается, почему — неизвестно.
glutSetWindow(m_hWindow);
glutPostRedisplay(); // команда на отрисовку
glutMainLoopEvent(); // пройти один цикл обработки glut сообщений
Сам OpenGL не вызывает зарегистрированной call-back функции:
glutDisplayFunc(DisplayGL); // наша DisplayGL не вызывается!!!
Всё работает в одном thread-е (многопточность блокирована).
OS Windows-7 / 64 (+SP1).
В обычном консольном проекте, также как и в MFC/Qt приложении всё работает нормально.
Проект опробован — на MFC приложении: там всё работает, как швейцарские часы
Заранее благодарны за любые мысли!
Возможно, есть какие-либо настройки и опции для Visual Studio 2015 юнит-тест подсистемы?
P.S. замечу что:
m_hWindow = glutCreateWindow("Model Window"); // возвращает валидный "хендл"
При исполнении приложения — никаких run-time errors нет; все коды возврата — валидные;
exceptions — также нет, однако вышеуказанная проблема — есть.