Apologies if this is not the right group for this question, but I think there may be people here who can help. (I'm open to suggestions for better places to ask.)
I have a program that contains a model of a planet. The model contains the surface of the planet and objects that have height e.g. mountains. The program accepts the (3d) coordinates of a viewer and the direction the viewer is looking and computes what the viewer would see on a flat screen (using the rules of perspective).
What I would like it to do now is to compute the equirectangular 2:1 projection corresponding to the viewer's position - i.e. the full-sphere panorama at the viewpoint. The maths involved presents no difficulties to me but I want to avoid a pixel-by-pixel calculation of the projection when I am sure this has been done before.
How can I create an equirectangular projection from a 3d spatial model?
My search so far has been limited to what Google mostly turns up i.e. the panoramic photgraphers where the assumption is that your source data is captured on a camera that rotated about its null parallax point. I have considered simulating taking photos in this way (including the overlapping, sigh) and using a stitcher like Autopano, but this will not work because stitchers only find control points in images with "texture" which my images would not have. I suspect the people I need to talk to are game programers but I haven't found them yet.
My projections will be gigapixels in size so the implementation needs to be efficient.