I want to create an app with a GUI in modern opengl. I want to use vertexarrays to render the sfml sprites so the program can run faster. So ill need to use a lot of small textures for drawing my GUI elements(buttons,textboxes etc.). The thing is that my GUI is being updated during runtime so i dont know exactly how many textures i have. I know in modern opengl you have a lot of ways to send textures to the shader. Which one would be the best for my problem? In the begining i wanted to use texture units but on my pc i only have 32 texture units which is not much. How do i do to have hundreds of thousands of little textures?I think have to choose between there options which i found on wikipedia but i dont even know what all of them are.
sampler2D GL_TEXTURE_2D
sampler3D GL_TEXTURE_3D
samplerCube GL_TEXTURE_CUBE_MAP
sampler2DRect GL_TEXTURE_RECTANGLE
sampler1DArray GL_TEXTURE_1D_ARRAY
sampler2DArray GL_TEXTURE_2D_ARRAY
samplerCubeArray GL_TEXTURE_CUBE_MAP_ARRAY
samplerBuffer GL_TEXTURE_BUFFER Buffer Texture
sampler2DMS GL_TEXTURE_2D_MULTISAMPLE
sampler2DMSArray GL_TEXTURE_2D_MULTISAMPLE_ARRAY