OpenGL 通过遮挡渲染内部面部



OpenGL中是否有办法仅渲染内部面部,而外部面部仍然覆盖/遮挡内部面部?为了更好地理解我想要完成什么,如果我切一个随机定位的圆柱体,我只会看到一个椭圆。

我试过:

glEnable(GL_CULL_FACE);
glEnable(GL_BACK);

但在这种情况下,我看到了圆柱体的整个内部,而外表面只是消失而没有覆盖任何东西。

谢谢

GL_BACK

不能"启用"。剔除的面由glCullFace选择:

glEnable(GL_BACK);

glCullFace(GL_BACK);

请注意,glEnable(GL_BACK)将导致INVALID_ENUM错误。

面剔除取决于卷绕顺序。另请参阅面部剔除。

例如,如果您的脸是顺时针方向,并且您想剔除背面,那么您必须:

glFrontFace(GL_CW​);
glCullFace(GL_BACK);
glEnable(GL_CULL_FACE);

请注意,重要的是,所有面都具有相同的绕组顺序(顺时针或逆时针(。

相关内容

  • 没有找到相关文章

最新更新