I have written a small proof-of-concept program called Plazoom which uses a plasma fractal algorithm (cf. plasma plugin in gimp) to enhance textures. Here's how to use it:
- Send the original texture image data to the plazoom function, and the coords of box (x1,y1)-(x2,y2)
- The function returns an image 4x as large, with the image data from (x1,y1)-(x2,y2) enhanced, and the rest of the image as black.
- Vegastrike detects when a planet's texture is about to start pixellating
- it passes the planet's texture, and coords of the currently visible area, to plazoom
- plazoom writes the enhanced texture file to /tmp/texture.png
- Vegastrike applies the new texture to the planet, and no quality is lost
It is also safe to re-apply plazoom any number of times. Obviously implementing this into Vegastrike will be more complicated than what I wrote above, because you also have to account for zooming out and panning.
Lastly, plazoom, as I mentioned, is only a POC. It currently is written to use the ppm image format instead of png, so it is very inefficient. Also, I wrote it in <24 hours so I sure the code could be vastly optimized. I'm mostly wondering if any of the devs like my idea, and would like to help me implement it into Vegastrike.
I will post code and example images soon.