剔除

2022/1/9 6:05:51

本文主要是介绍剔除,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

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


这篇关于剔除的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程