У меня есть приложение, которое оживляет человека, пересекающего залы космического корабля.Я также создал OpenGL DLL, на которую ссылается приложение.Цель этой библиотеки OpenGL состоит в том, чтобы перехватывать определенные вызовы, а затем что-то делать, когда эти вызовы перехватываются.
Основной вызов, который меня беспокоит при перехвате, - это wglSwapBuffer (я думаю, это название).В этом вызове я отрисовываю трехмерный объект (полусфера или полуцилиндр) и задаю координаты текстуры для каждой вершины.Затем я фиксирую вывод кадрового буфера и использую его для текстурирования содержимого сферы, используя glCopyTexImage2D или что-то в этом роде.
После того, как я все это сделаю, моя dll вызывает реальную dll и реальнуюМетод swapbuffer вызывается.
Когда я помещаю свою dll в ту же папку, что и приложение, я получаю то, что ожидаю, купол с текстурированной на нем графикой.Чего я не ожидал, так это того, что экран постоянно гаснет.Под этим я подразумеваю, что все выглядит так, как предполагалось, и затем через второй интервал экран станет полностью черным, а затем снова станет нормальным.Это повторяется со средней частотой около секунды, иногда быстрее, иногда медленнее, похоже, зависит от того, насколько интенсивно работает процессор.
Есть идеи?