【渲染管线】关于三角面正反和剔除cull

多边形面剔除是WebGL和OpenGL中的优化技术,用于剔除不可见的多边形面以提升渲染性能。默认情况下,正面是逆时针绘制,背面是顺时针绘制。gl.CULL_FACE用于开启或关闭剔除,gl.cullFace()和gl.frontFace()分别设置剔除面和正面方向。在Unity的ShaderLab中,可通过Blend参数控制剔除选项,但其正面方向与WebGL相反,未发现可修改此设置的方法。
摘要由CSDN通过智能技术生成

webgl中关于剔除cull

是否开启剔除
gl.enable(gl.CULL_FACE);/gl.disable(gl.CULL_FACE);

设置剔除哪一面
gl.cullFace,gl.cullFace()是WebGL中的一个方法,用于开启或关闭多边形面剔除(polygon face culling)。多边形面剔除是一种优化技术,用于排除不可见的几何体,从而提高渲染性能。
多边形面剔除根据多边形的绘制方向来判断其是正面还是背面。在OpenGL和WebGL中,默认情况下,正面是指逆时针绘制的面,背面是指顺时针绘制的面。通过开启多边形面剔除,我们可以剔除掉背面多边形,只绘制正面多边形,从而减少不必要的绘制开销。

gl.cullFace()方法接受一个参数,用于指定要剔除的多边形面。可以设置为以下预定义常量之一:

gl.FRONT: 剔除正面多边形。
gl.BACK: 剔除背面多边形。
gl.FRONT_AND_BACK: 剔除正面和背面多边形。

gl.frontFace用于设置多边形的正面方向。多边形的正面方向是指多边形的正面绘制方向,它决定了多边形的正面和背面的判断方式。

在OpenGL和WebGL中,默认情况下,正面是指逆时针绘制的面,背面是指顺时针绘制的面。通过调用gl.frontFace()方法,我们可以改变多边形的正面方向,以适应不同的场景需求。

gl.frontFace()方法接受一个参数,用于指定多边形的正面方向。可以设置为以下预定义常量之一:

gl.CCW:逆时针,即默认的正面方向。
gl.CW:顺时针,即将逆时针定义为背面,顺时针定义为正面。

unity中的剔除

是在ShaderLab中有Blend
可选参数有Back、Front、Off,决定剔除背面、正面,或者都不剔除

发现unity中默认正面是顶点顺时针,和webgl中正好相反,目前没有发现可以修改的地方,有朋友知道可以告知下哈

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值