OpenGL贴图有关问题

OpenGL贴图问题
初学者,不知道怎么用OpenGL将位图贴到球体上还不影响球体转动,就像地球仪一样,希望大侠指点,最好能有源代码和注释~~~额~~要用C语言写的~~
------最佳解决方案--------------------
看看这个
http://download.****.net/detail/waitformyfriends/3721978
------其他解决方案--------------------
#undef UNICODE
#include <windows.h> 
#include <GL/gl.h>
#include <GL/glu.h>
#include <GL/glaux.h>
#include <GL/glut.h>
 
void myinit(void);
void makeStripeImage(void);
void CALLBACK display(void);
void CALLBACK myReshape(GLsizei w, GLsizei h);
 
#define stripeImageWidth 64
GLubyte stripeImage[3*stripeImageWidth];
 
void makeStripeImage(void)
{
  int j;
 
  for (j = 0; j < stripeImageWidth; j++)
  {
    stripeImage[3*j] = 255;
    stripeImage[3*j+1] =255-2*j;
    stripeImage[3*j+2] =255;
  }
}
 

 
GLfloat sgenparams[] = {1.0, 1.0, 1.0, 0.0};
 
void myinit(void)
{
  glClearColor (0.0, 0.0, 0.0, 0.0);
 
  makeStripeImage();
  glPixelStorei(GL_UNPACK_ALIGNMENT, 1);
  glTexEnvf(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_MODULATE);
  glTexParameterf(GL_TEXTURE_1D, GL_TEXTURE_WRAP_S, GL_REPEAT);
  glTexParameterf(GL_TEXTURE_1D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
  glTexParameterf(GL_TEXTURE_1D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
  glTexImage1D(GL_TEXTURE_1D, 0, 3, stripeImageWidth, 0, GL_RGB, GL_UNSIGNED_BYTE, stripeImage);
 
  glTexGeni(GL_S, GL_TEXTURE_GEN_MODE, GL_OBJECT_LINEAR);
  glTexGenfv(GL_S, GL_OBJECT_PLANE, sgenparams);
 
  glEnable(GL_DEPTH_TEST);
  glDepthFunc(GL_LESS);
  glEnable(GL_TEXTURE_GEN_S);
  glEnable(GL_TEXTURE_1D);
  glEnable(GL_CULL_FACE);
  glEnable(GL_LIGHTING);
  glEnable(GL_LIGHT0);
  glEnable(GL_AUTO_NORMAL);
  glEnable(GL_NORMALIZE);
  glFrontFace(GL_CW);
  glCullFace(GL_BACK);
  glMaterialf (GL_FRONT, GL_SHININESS, 64.0);
}
 
void CALLBACK display(void)
{
  glClear(GL_COLOR_BUFFER_BIT 
------其他解决方案--------------------
引用:
#undef UNICODE
#include <windows.h> 
#include <GL/gl.h>
#include <GL/glu.h>
#include <GL/glaux.h>
#include <GL/glut.h>
 
void myinit(void);
void makeStripeImage(void);
void CALLB……
这个显示无法编译,找不到exe文件
------其他解决方案--------------------
 GL_DEPTH_BUFFER_BIT);
  glPushMatrix ();
  glRotatef(25.0, 1.0, 0.0, 0.0);
  auxSolidTeapot(1.5);
  glPopMatrix ();
  glFlush();
}
 
void CALLBACK myReshape(GLsizei w, GLsizei h)
{
  float a=3.5;
 
  glViewport(0, 0, w, h);