Как мне обновить часть текстуры? - PullRequest
5 голосов
/ 01 июня 2011

Кажется, что glTexSubImage2D требует указатель на полный буфер текстур.Как можно выполнить частичное обновление текстуры, предоставив только указатель на область обновления, а не весь буфер?

Например, если я хочу наложить второе изображение на существующую текстуру, а не скопировать изображениеДанные в мой буфер текстур затем вызывают glTexSubImage2D, я просто получаю opengl для обновления текстуры без необходимости копировать данные между местами в ОЗУ.

1 Ответ

7 голосов
/ 01 июня 2011

Откуда вы взяли, что glTexSubImage2D требует указатель на полный буфер текстур?

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

TL; DR: glTexSubImage2D получает указатель на ваши новые данные и делает именно то, что вы думаете, что должно быть в вашем примере:)

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