Unity shader中真的可以动态关闭Stencil Test吗?

这个问题很多年前就有人问了:

https://discussions.unity.com/t/how-to-disable-the-stencil-block-via-shader-properties/600273/1

最后的答案是:

set [_StencilComp] to CompareFunction.Disabled to disable the Stencil Op completely.

但是我测试了一下,Disabled只出现在了Frame Debugger中,使用RenderDoc截帧分析(DX11),设置的渲染状态仍然是StencilEnabled True:

但是我没有测试移动平台和DX12,但这应该是RHI无关的逻辑吧。

另外,如果Shader中根本不包含Stencil这段,则Stencil Eanble为false。

可是Stencil这段没法动态关闭。

由此可知,如果我上面的测试是正确的,UGUI的 UI/Default shader由于包含了Stencil,那么Stencil Test对于所有的UGUI Drawcall都是开启的。那么使用Mask似乎也不会额外影响性能了是吧,那还优化个啥呢

相关推荐
nnsix12 小时前
Unity的dllType Native和Managed的区别
unity·游戏引擎
编码旅者13 小时前
《Virt A Mate(VAM)》免安装豪华版v1.22中文汉化整合
游戏引擎·图形渲染·vr·动画
Clank的游戏栈14 小时前
AI游戏开发全自动编程课程体系(Cursor版,支持Unity/Cocos, Laya后续支持)
人工智能·unity·游戏引擎
鹿野素材屋15 小时前
技术闲聊:为什么网游会在固定时间点,刷出固定的道具?
前端·网络·unity
发际线危机1213816 小时前
Unity发布apk部分真机虚线采样变成实线问题
unity·游戏引擎
FVV112316 小时前
电脑录屏工具Bandicam 无时长限制,支持4K画质
eclipse·游戏引擎·ar·动画·ogre
猫不吃咸鱼18 小时前
Unity中攻击检测敌人的多种方法
游戏·unity·c#·游戏引擎
又来07719 小时前
Unity 无人机物理模拟开发日志:从零打造穿越机手感
unity·游戏引擎·无人机
CreasyChan21 小时前
Unity UniRx Observable 类详解及使用
游戏·unity·c#·游戏引擎
老朱佩琪!1 天前
Unity策略模式
unity·设计模式·策略模式