Вы создаете текстуру, используя glTexImage
, а затем обновляете ее содержимое с помощью glTexSubImage
. Когда вы обновляете текстуру, вы можете обновить всю текстуру или просто ее прямоугольник.
Гораздо эффективнее создать одну текстуру и обновить ее, чем создавать и повторно удалять ее, поэтому в этом смысле, если у вас есть текстура, которую вы хотите обновить, всегда используйте glTexSubImage
(после первоначального создания) .
Для обновления текстуры могут применяться другие методы. Например, см. Эту статью о потоковой передаче текстуры для получения дополнительной информации.
(Первоначально в этом посте предлагалось использовать glMapBuffer
для обновления текстур - см. Обсуждение ниже.)