/** Updates a rectangular region of the texture. Storage must be defined
and allocated beforehand. The update region must be fully inside the
texture. */
void sub_image(unsigned level, int x, int y, unsigned wd, unsigned ht,
/** Updates a rectangular region of the texture. Storage must be defined
and allocated beforehand. The update region must be fully inside the
texture. */
void sub_image(unsigned level, int x, int y, unsigned wd, unsigned ht,