ふつうにテクスチャを貼りたいなら、uv座標を設定しないといけない。
glutSolidXXX()はteapotだけがuv座標を生成する。
よって自分で球をuv付きで描く関数を作るしかない
glutSolidSphereのソースを見ると、gluSphereを呼んでいるだけの関数なのがわかる

void APIENTRY
glutSolidSphere(GLdouble radius, GLint slices, GLint stacks)
{
QUAD_OBJ_INIT();
gluQuadricDrawStyle(quadObj, GLU_FILL);
gluQuadricNormals(quadObj, GLU_SMOOTH);
/* If we ever changed/used the texture or orientation state
of quadObj, we'd need to change it to the defaults here
with gluQuadricTexture and/or gluQuadricOrientation. */
gluSphere(quadObj, radius, slices, stacks);
}

gluSphereの仕様を見るとテクスチャ座標の生成にはgluQuadricTextureを使えとある。ので>>744