Use texSubImage2D to avoid texture memory reallocation