OpenGL: Как обновить изображение прямоугольной текстуры? - PullRequest
0 голосов
/ 07 сентября 2011

Я пытаюсь обновить маленькое квадратное сечение в большой прямоугольной текстуре.

Я пытался использовать glTexSubImage2D с целью, установленной в GL_TEXTURE_RECTANGLE_ARB, но у меня возникают проблемы,Может быть, я просто не знаю, как правильно использовать glTexSubImage2D.Проблемы могут быть связаны с тем, что я пытаюсь не загружать всю текстуру в основную память с помощью glTexImage2D перед обновлением подизображения?

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

1 Ответ

0 голосов
/ 25 декабря 2011
  1. Я совершенно уверен, что вам нужно хотя бы один раз загрузить полноразмерную текстуру с помощью glTexImage2D. Вы даже можете использовать пустой массив, если у вас нет доступа ко всему изображению в начале.

  2. glCopyTexSubImage2D не совсем то, что вы хотите. Копирует определенную часть из «кадрового буфера» в текстуру. Но вы хотите загрузить из основной памяти, верно?

  3. Я не вижу причин, по которым прямоугольные текстуры не могут поддерживаться этими методами, если не существует сломанного драйвера.

  4. Учтите, что прямоугольные текстуры не используют текстурные координаты в диапазоне [0..1], как другие текстуры. Вместо этого они используют диапазон [0..Width] и [0..Height].

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