Texturing a sphere, creating a cube map - the proper way?

So I’ve been looking into spheres and this seems to be a wild subject… couldn’t find at least one place that would agree on any proper way to do this.

People say spheres sould be textured with cube maps, and not Mercator streched textures. (like ones NASA gives)

I found this blog post https://mycodingwrongs.wordpress.com/2010/07/24/reprojecting-blue-marble/
The guy reprojected Mercator texture onto Gnomonic cube map.

I was able to texture a sphere with that cube map he gave. I’m not sure if I created that mesh correctly, but it looks quite good.
example: http://dev.keraj.net/sphere/ (press [+] on numpad to add more vertices, press V to see wireframe)

  1. But I don’t know how he did that. How did he reproject from Mercator to Gnomonic. He gave a link to wolfram page on Gnomonic projection, but I am not sure how use that.

  2. What if I want to create my own cube map? (ie. procedurally, out of perlin noise, or even manually)

I hope some of you guys been through this and can give me some advices, maybe even some code.
I would really like to know what are good ways to mesh a sphere and texture it procedurally correctly.

Spheres are quadric shapes which means they can be generated by its bands and rings.

Say number od bands id 20, x or s is:

2pi/20 * texture repeat number.

I forgot the parametric equation for a sphere but it’s something like:


x = sin(p) * cos(t)
y = sin(p) * sin(t)
z = cos(p)

That 2pi above is your p and t.

Sample here:

rel.phatcode.net/junk.php?id=55

Sorry using phone to post.

Short answer: Cube map is easiest and cheapest. Any simple mapping of a 2D texture to a sphere has aweful texture coverage which is also non-uniform. Imagine wrapping a square piece of rubber around a ball and you’ll get a rough idea (being a rectangle doesn’t really help).