pioneerspacesim/pioneer — pull request #1404 by johnbartholomew (2012-07-27 03:46:32+00:00)
Title: Improve planetary ring rendering

Replaces #1387.

This makes several changes to the way planetary rings are handled:

* Rings are rendered with a single triangle strip instead of one per ring. A texture is used to provide colour variation over this strip.
* Ring inner and outer radius, and base colour, can be specified in a custom system script, or the script can specify that rings should/should-not be included and leave the details up to the system generator.
* Ring radius and base colour is chosen at sysgen time, instead of being regenerated every time the planet is rendered.
* The texture and vertex array for ring rendering is generated once per planet, rather than creating a new vertex array every time the planet is rendered.
* The clip radius for the planet is modified to include the ring outer radius so that rings don't pop in when the planet comes into view.