opengl fcae culling:https://learnopengl-cn.github.io/04 Advanced OpenGL/04 Face culling/
剔除能够节省性能开销
OpenGL能够检查所有面向(Front Facing)观察者的面,并渲染它们,而丢弃那些背向(Back Facing)的面,节省我们很多的片段着色器调用(它们的开销很大!)。
但我们仍要告诉OpenGL哪些面是正向面(Front Face),哪些面是背向面(Back Face)。OpenGL使用了一个很聪明的技巧,分析顶点数据的环绕顺序(Winding Order)。
观察一个面时,正面看过去时是三角形是逆时针的,背面看过去是顺时针的.
openGl的剔除命令:
//启用剔除 glEnable(GL_CULL_FACE); //剔除正面 glCullFace(GL_FRONT); //剔除背面 glCullFace(GL_Back);
shaderLab的剔除:https://docs.unity3d.com/cn/current/Manual/SL-Cull.html
shaderLab也是默认背面剔除的.
// 为此通道禁用剔除。 // 这通常用于实现特殊效果,如透明对象或双面墙。透明测试可以用这个 Cull Off //剔除背面 默认的 Cull Back //剔除前面 使用它可翻转几何体。 Cull Front