根据我的理解,GL_FLAT
应该使面部成为单一颜色。我不能让GL_FLAT
实际工作;好像我的程序只使用GL_SMOOTH
。我使用光源,但两者看起来都一样。
三角形应该只是一种颜色。这是我的场景渲染代码。我没有提到GL_SMOOTH
,我到处都尝试过GL_FLAT
(inits,main,在光/材料定义之前,绘图之前,绘图之后,绘图之后等)。
glClear(GL_COLOR_BUFFER_BIT);
glEnable(GL_LIGHTING);
//Light
glEnable(GL_LIGHT1);
//Define Light source ...
//Define Material ...
//Draw Triangle
glShadeModel(GL_FLAT);
glNormal3f(0,0,1);
glBegin(GL_POLYGON);
glVertex3f( -.5, -.5, 0);
glVertex3f( 0, .5, 0);
glVertex3f( .5, -.5, 0);
glEnd();
glFlush();
那就是它。程序中的其他所有内容都是运行所需的最低限度。 GL_FLAT
被打破了吗?