其他分享
首页 > 其他分享> > 剔除

剔除

作者:互联网

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

标签:Cull,OpenGL,Back,Front,剔除,GL
来源: https://www.cnblogs.com/melttt/p/15780159.html