我在opengl场景中分别用两种方法绘制六面体如下:
auxSolidCube(cheng);//六面体1glBegin(GL_QUADS);//六面体2
glVertex3f();
glVertex3f();
glVertex3f();
glVertex3f(); ......
glEnd();
结果在光照的作用下,六面体1,的各个面的亮度有明显的分别,
而六面体2的各个面的光照亮度没有明显的区别,浑然一块,这是为什么呢?
auxSolidCube(cheng);//六面体1glBegin(GL_QUADS);//六面体2
glVertex3f();
glVertex3f();
glVertex3f();
glVertex3f(); ......
glEnd();
结果在光照的作用下,六面体1,的各个面的亮度有明显的分别,
而六面体2的各个面的光照亮度没有明显的区别,浑然一块,这是为什么呢?
比如画最上面的面,法线应该向上,故要加glNormal3f(0.0f,0.0f,1.0f);最好将每条法线都单位化