I’m drawing the graphics for a nebula by mixing a bunch of tiles randomly taken from a texture atlas. The tiles overlap by a lot, and that combined with randomly picking them helps make it look less tiled.
Here is a screenshot of what it looks like - the nebula is the purplish strip going diagonally across the screen.
The trouble is that each tile is rather large (around 512x512, though the texture area mapped to it is about half that and gets scaled up). With the overlap, to have the nebula fill a screen’s worth of space requires drawing about 2-3 times the area of the screen worth of tiles. So I might draw 40 512x512 tiles on a nebula-heavy screen.
This ends up being really slow on lower-end graphics cards, with a vast majority of the time spent in Display.update(). (I’m using LWJGL)
Is there something I can do to speed this up? What’s the likely culprit? (fillrate?)
Another related question - what would be a fast way to draw the background image? It’s just putting pixels on the screen, there’s no stretching/blending/etc going on. Right now I’m just drawing it as a textured quad, with GL_BLEND disabled.