Какой самый быстрый способ нарисовать новое полноэкранное изображение в каждом кадре в OpenGL? - PullRequest
6 голосов
/ 14 сентября 2011

Каждый кадр моя программа будет получать новое изображение с видеокамеры USB.Этот образ изначально будет в памяти процессора.Какой самый быстрый способ в OpenGL нарисовать это изображение на экране, чтобы оно заполнило весь экран?

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

Ответы [ 2 ]

7 голосов
/ 14 сентября 2011

В настоящее время я загружаю данные изображения в текстуру, а затем отрисовываю полноэкранный квад.Тем не менее, это не очень быстро работает на другой машине, которая пыталась.Есть идеи?Спасибо.

glTexImage2D выполняет полную инициализацию текстуры (что означает размещение, настройку объекта и тому подобное).Если вы просто хотите заменить текстурное изображение изображением того же размера, используйте glTexSubImage2D , что намного быстрее.Если вы хотите сделать это асинхронно, взгляните на Pixel Buffer Objects

2 голосов
/ 14 сентября 2011

Блиттинг - это возможное решение, и существует нить , в которой это обсуждается. Они не дают ему хороший обзор.

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