各位帮忙看一下,为什么我加了glEnable(GL_LIGHTING);后就什么都不显示了?一片漆黑?
glEnable(GL_TEXTURE_2D); // Enable Texture Mapping
glShadeModel(GL_SMOOTH); // Enable Smooth Shading
glClearColor(0.0f, 0.0f, 0.0f, 0.5f); // Black Background
glClearDepth(1.0f); // Depth Buffer Setup
glEnable(GL_DEPTH_TEST); // Enables Depth Testing
glDepthFunc(GL_LEQUAL); // The Type Of Depth Testing To Do
glHint(GL_PERSPECTIVE_CORRECTION_HINT, GL_NICEST); // Really Nice Perspective Calculations
// glEnable(GL_LIGHTING);
GLfloat light1_ambient[4] = {0.2,0.6,0.2,1} ;
GLfloat light1_diffuse[4] = { 0.5, 0.5, 0.2, 1.0 };
GLfloat light1_specular[4] = { 0.9, 0.9, 0.9, 1.0 };
GLfloat light1_position[4] = {-3.0, 60.0,3.0, 1.0} ;
GLfloat light1_spotdirection[3] = {0.0 , 0.0, -1.0} ;
GLfloat light1_spotcutoff = 45.0;
GLfloat light1_spotexponent = 0;
glLightfv(GL_LIGHT1,GL_POSITION,light1_position);
glLightfv(GL_LIGHT1,GL_AMBIENT,light1_ambient);
glLightfv(GL_LIGHT1,GL_DIFFUSE,light1_diffuse);
glLightfv(GL_LIGHT1,GL_SPECULAR,light1_specular);
glLightfv(GL_LIGHT1,GL_SPOT_DIRECTION,light1_spotdirection);
glLightf(GL_LIGHT1,GL_SPOT_EXPONENT,light1_spotexponent);
glLightf(GL_LIGHT1,GL_SPOT_CUTOFF,light1_spotcutoff);
glEnable(GL_LIGHTING);
glEnable(GL_LIGHT1);
GLfloat m_Ambient[4];
GLfloat m_Diffuse[4];
GLfloat m_Specular[4];
GLfloat m_Emission[4];
GLfloat m_fShininess;
m_Ambient[0]=0.24725;m_Ambient[1]=0.2245;
m_Ambient[2]=0.0645;m_Ambient[3]=1.0;
m_Diffuse[0]=0.34615;m_Diffuse[1]=0.3143;
m_Diffuse[2]=0.0903;m_Diffuse[3]=1.0;
m_Specular[0]=0.797357;m_Specular[1]=0.723991;
m_Specular[2]=0.208006;m_Specular[3]=1.0;
m_fShininess=83.2;
glMaterialfv(GL_FRONT,GL_AMBIENT,m_Ambient);
glMaterialfv(GL_FRONT,GL_DIFFUSE,m_Diffuse);
glMaterialfv(GL_FRONT,GL_SPECULAR,m_Specular);
glMaterialfv(GL_FRONT,GL_EMISSION,m_Emission);
glMaterialfv(GL_FRONT,GL_SHININESS,&m_fShininess);