pioneerspacesim/pioneer — pull request #2414 by johnbartholomew (2013-09-07 13:02:21+00:00)
Title: Remove GLU dependency

The only function we use from GLU is gluProject (in two places), and one of those uses has a comment saying "replace glut dependency" (which is a little odd since GLUT and GLU are not the same thing at all, but I'm assuming it was just a typo or thinko).

I'm not really sure why I did this. As far as I know, GLU is available everywhere (maybe it's not available on some GLES systems? but we don't support GLES anyway). Nevertheless, I think the trend is to just use whatever vector maths library you've got instead of using GLU for this kind of thing, so I've replaced those calls with an inline implementation. I would have used normal matrix/vector multiply except we don't have a vector4d type and it didn't seem worth adding one.

It's not great to have the code duplicated, but my rationalisation is that `Gui::Screen` will be going away in the future so that copy doesn't count.