Texture size change


Just mere curiosity.
I know that it’s not possible to change dimentionality of texture after the first bind. But what’s about the size and/or internal format change by subsequent glTexImage* calls without deleting / creating of texture object?


You can change these, including the size, but you’re deleting and recreating the texture, it’s really heavyweight. Note your call was glTexImage, not SubImage etc.

The bind is really a deliminator that says “restore texture state to the last state it was for this object”. Calls like glTexImage are just incremental state changes that can always be made. Making them when ana texture object is bound changes the texture state of that object permanently, but the incremental nature of the state engine still applies, i.e. it is legal to make those calls and they have an effect even if it’s expensive and inadvisable sometimes.