glEnable(GL_LIGHTING);
glEnable(GL_LIGHT0);
打开光照以后,
glColor3f(1,1,0);
怎么画三角形时,着色怎么加不上?
只能把光照关掉才能着色,为什么呢?

解决方案 »

  1.   

    在使用光照的时候,必须要指定法向方向,使用glNormal在你绘制三角形的每一个顶点时同时指定法向方向。
    另外还有一个原因可能是你的三角形(顺时针为反面,逆时针为正面)背对着光源的位置。调一下光源的位置试试。使用glLightfv(GL_LIGHT0,GL_POSITION,pos).
    不同意楼上的说法,对于GL_LIGHT0光源有缺省的环境光,散射光和反射光。
      

  2.   

    glNormal这样不行,
    后开灯也不行,
    郁闷呀.