specular not working in LH
I am trying to transform OpenGL from a right-handed coordinate system into a left-handed coordinate system like in DirectX. So I reversed the signs in the perspective matrix for z and w, and reversed the order in which vertices are passed. This seems to work, lighting works as normal, but the specular light doesn''t. What am I doing wrong?
Are your polys textured? if so you need to add the line
glLightModeli(GL_LIGHT_MODEL_COLOR_CONTROL, GL_SEPARATE_SPECULAR_COLOR);
Otherwise the texture hides the specular highlight. If (as in Microsoft GL) these symbolic constants are undefined you can define them thus:
#ifndef SEPARATE_SPECULAR_COLOR
#define GL_SEPARATE_SPECULAR_COLOR 0x81FA
#endif
#ifndef GL_LIGHT_MODEL_COLOR_CONTROL
#define GL_LIGHT_MODEL_COLOR_CONTROL 0x81F8
#endif
glLightModeli(GL_LIGHT_MODEL_COLOR_CONTROL, GL_SEPARATE_SPECULAR_COLOR);
Otherwise the texture hides the specular highlight. If (as in Microsoft GL) these symbolic constants are undefined you can define them thus:
#ifndef SEPARATE_SPECULAR_COLOR
#define GL_SEPARATE_SPECULAR_COLOR 0x81FA
#endif
#ifndef GL_LIGHT_MODEL_COLOR_CONTROL
#define GL_LIGHT_MODEL_COLOR_CONTROL 0x81F8
#endif
This topic is closed to new replies.
Advertisement
Popular Topics
Advertisement