I have an orrery simulation (solar system) that currently draws orbits as a GL_LINE_LOOP calculating the position of the points using standard trig functions and putting the points into an array which it then renders in a simple loop.
I want to take advantage of T&L but I’m not sure if this is exactly where it is used. To get to the center of the body’s orbit I use glTranslatef,Rotatef etc and I know that all of these are T&L accelerated but I would like to know if there’s an accelerated way of calculating the orbital path’s points. And for a relatively low vertex count object like this path; is it worth using compiled vertex arrays??
How often do you recalculate the orbit?
If it’s a one time init, put the data into a display list and the driver will care for the most optimal way to get it on screen.
For for dynamic environments glDrawArrays() or glDrawElements() with a vertex3f array will do the job.
Wouldn’t the orbits of the moons be fixed with regard to the position of the planet? Simply using the same rotation/translation you use before drawing the planet could be used for drawing the orbit as well.
I thought of that just after I’d put the reply post on the board. I’ll just whack it into a display list and re-render the same orbit scaled, translated and rotated after using one of the vertex-array type functions. Cheers anyway