i tested environment mapping source used gltexenv function.
i use multi pass rendering.
first i draw object attached normal texture ,then draw object attatched bleded reflection map.
some video cards Matrox-G400 and software render only have problem multipass rendering.
my render source:
glPushMatrix();
gTexExample.Use(); // Tells OpenGL to use this texture.
glEnable(GL_TEXTURE_GEN_S);
glEnable(GL_TEXTURE_GEN_T);
glTexGenf(GL_S,GL_TEXTURE_GEN_MODE,GL_OBJECT_LINEAR);
glTexGenf(GL_T,GL_TEXTURE_GEN_MODE,GL_OBJECT_LINEAR);
glDepthFunc(GL_LESS);
glDisable(GL_BLEND);
glColor3f(0.5,0.5,0.5);
draw3DObj();
glTexGenf(GL_S,GL_TEXTURE_GEN_MODE,GL_SPHERE_MAP);
glTexGenf(GL_T,GL_TEXTURE_GEN_MODE,GL_SPHERE_MAP);
glDepthFunc(GL_LEQUAL);
glEnable(GL_BLEND);
gTexExample2.Use(); // Tells OpenGL to use this texture.
glColor3f(1.0,1.0,1.0);
draw3DObj();