面剔除
需要先将所有的面顶点按逆时针存储,这样从摄像机出发看不见的面的顶点环绕顺序就变成了顺时针了,利用这个特点可以找到背面了,进行剔除。
需要知道的几个函数:
1、开启面剔除
glEnable(GL_CULL_FACE);
2、设置剔除正面还是背面,或正面和背面都剔除
glCullFace(GL_BACK); //(参数: GL_FRONT,GL_FRONT_AND_BACK)
3、设置正向面的顶点环绕方式(默认逆时针,可设置为顺时针)
glFrontFace(GL_CW); //(CW-顺时针,CCW-逆时针)
示例:
设置正向面的顶点环绕方式为顺时针,这样正面会被剔除
//setup cull back face glEnable(GL_CULL_FACE); glFrontFace(GL_CW);
效果图: