面剔除

 

需要先将所有的面顶点按逆时针存储,这样从摄像机出发看不见的面的顶点环绕顺序就变成了顺时针了,利用这个特点可以找到背面了,进行剔除。

需要知道的几个函数:

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);

效果图:

posted @ 2019-08-19 15:28 茶飘香~ 阅读(...) 评论(...) 编辑 收藏