Приложение OpenGL исчезает при текстурировании объекта - PullRequest
0 голосов
/ 26 января 2011

У меня есть приложение, которое оживляет человека, пересекающего залы космического корабля.Я также создал OpenGL DLL, на которую ссылается приложение.Цель этой библиотеки OpenGL состоит в том, чтобы перехватывать определенные вызовы, а затем что-то делать, когда эти вызовы перехватываются.

Основной вызов, который меня беспокоит при перехвате, - это wglSwapBuffer (я думаю, это название).В этом вызове я отрисовываю трехмерный объект (полусфера или полуцилиндр) и задаю координаты текстуры для каждой вершины.Затем я фиксирую вывод кадрового буфера и использую его для текстурирования содержимого сферы, используя glCopyTexImage2D или что-то в этом роде.

После того, как я все это сделаю, моя dll вызывает реальную dll и реальнуюМетод swapbuffer вызывается.

Когда я помещаю свою dll в ту же папку, что и приложение, я получаю то, что ожидаю, купол с текстурированной на нем графикой.Чего я не ожидал, так это того, что экран постоянно гаснет.Под этим я подразумеваю, что все выглядит так, как предполагалось, и затем через второй интервал экран станет полностью черным, а затем снова станет нормальным.Это повторяется со средней частотой около секунды, иногда быстрее, иногда медленнее, похоже, зависит от того, насколько интенсивно работает процессор.

Есть идеи?

1 Ответ

1 голос
/ 31 января 2011

Оказывается, это было чем-то смешанным.Итак, в методе swapbuffer я отключил смешивание, сделал свои вещи, а затем снова включил смешивание, и теперь оно работает.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...