The functions glTexStorage1D(), glTexStorage2D(), glTexStorage3D(), glTexImage1D(), glTexImage2D(), and glTexImage3D() and their corresponding multisample variants all take an internalformat parameter, which determines the format that OpenGL will use to store the internal texture data. They also take a format and type parameter indicating the format and type of the data supplied by the application.
The internal format of a texture is the format that OpenGL will use to internally store the texture data you give it. Your data will be converted (if necessary) into this format at image specification time. There are a large number of internal formats that OpenGL can store image data in, and each comes with a size, ...