[LWJGL] Best way to handle resizing textures

Hi!

In my engine, I’m starting to battle with load times. This is due to how textures are loaded. Currently, when I load a texture I use a nice image loading library called Thumbnails. It takes in many image formats, handles resizing, and outputs a bufferedImage. This is useful for having a “Texture Quality” setting in the game, as I can use thumbnails to easily resize the buffered image before it is packed into a buffer and sent to the GPU.

This, however, is a little costly. So my question is how do most 3d games handle texture quality settings? Are the texture sizes pre-generated? Are they resized using FBO’s? I would like to move away from BufferedImages, as they seem to be slow to load and take up a lot of memory.