glutHideWindow и glReadPixels в OS X - PullRequest
       15

glutHideWindow и glReadPixels в OS X

1 голос
/ 26 октября 2010

На машине с MAC OS X я использую FBO, RBO глубины и RBO текстуры с freeglut для рендеринга 3D-сцены в FBO и рендеринга в текстуру. Все с использованием стандартных функций перенасыщения и glutMainLoop в конце.

Я использую glReadPixels для чтения из FBO. Я вижу, что пиксели читаются правильно.

Однако, когда я скрываю окно перенасыщения, используя glutHideWindow, я обнаруживаю, что весь буфер, который возвращается с помощью glReadPixels, устанавливается в чистый цвет (ff 00 00 00). Я ничего не меняю. Я думаю, что FBO вообще не отображается, когда окно скрыто. Как мне это изменить? Это наблюдается в MAC OS X. Пожалуйста, дайте мне знать, если вы хотите посмотреть на код.

1 Ответ

1 голос
/ 26 октября 2010

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

РЕДАКТИРОВАТЬ: это связано с оконной системой, а не с OpenGL

...