У меня есть часть GLvoid* data
, которая содержит полное изображение, которое периодически обновляется во всей моей программе. Я использую glTexImage2D
для инициализации текстуры на графическом процессоре с этими данными.Должен ли я предоставить полное или частичное изображение glTexSubImage2D?
Я хотел бы использовать glTexSubImage2D
для обновления частей текстуры по мере необходимости. documentation for glTexSubImage2D описывает GLvoid* pixels
аргумент, как, например:
Определяет указатель на данные изображения в памяти.
Какие «данные изображения» ожидаются? Могу ли я предоставить весь файл GLvoid* data
или он ожидает буфер, который только содержит копировавшие данные?
Если он ожидает частичные данные, существует ли альтернативный способ предоставления всего буфера?
Это наоборот: 'glTexSubImage2D' не используется для обновления части текстуры в памяти графического процессора, она используется для загрузки части буфера данных изображения в память графического процессора. – Steeve
Может ли glPixelStore GL_PACK_ROW_LENGTH решить проблему? (и в меньшей степени GL_PACK_SKIP_PIXELS и GL_PACK_SKIP_ROWS). Не выкопали слишком глубоко, поэтому комментарий, а не ответ. – Columbo