by rabidhamster » Sun May 18, 2003 9:53 am
There are a few things i guess:
Avoid re-calculating points. GL_QUAD_STRIP invariably saves a lot of time. Also, use Vertex Lists + Display lists for static stuff (often the overhead of putting data in an array for moving stuff is greater than that of just called glVertex - metaballs being a good example).
Also, it seems Video cards tend to cache textures. You'd expect that a large texture and a small texture would render at the same speed of they went to the same size quad on the screen. Its not the case, so if you can get away with a small texture, try to.
If you need to render to texture, consider using PBuffers - they work on almost all cards since the Voodoo 3, and are much faster (and nicer - they don't corrupt the viewport) than the pixel copying that usually has to be done.
Try using MultiTexturing too - its a very simple OpenGL extension, and you can do some nice texture combinations. I think you can probably rely on having 2 texture units now as well. On a lot of cards you can expect a near-2x performance boost if you're rendering 2 things over the same area. On the same kindof note - you can slow scenes down really easily with effects that render lots of things one over the top of the other, so you really tend to have to tweak them.
Hopefully that was some help - whats in the program then? it a game/demo/plugin?