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似乎也不会额外影响性能了是吧,那还优化个啥呢

相关推荐
Tatalaluola4 小时前
3DGS高斯泼溅渲染简单理解
3d·unity·三维重建
努力长头发的程序猿6 小时前
在Unity当中使用GameFrameworkX框架的知识点
java·unity·游戏引擎
etp_8 小时前
Unity Avater
unity·游戏引擎
唐小墨同学9 小时前
工程场景数字化初体验-145分钟极速版
unity·机械
JIes__11 小时前
Unity(三)——DoTween/TimeLine
unity·游戏引擎
WarPigs12 小时前
基于泛型+反射的Excel万能导表工具
unity·c#·excel·反射
心前阳光13 小时前
Mirror网络库插件使用4
java·linux·网络·unity·c#·游戏引擎
呆呆敲代码的小Y17 小时前
【Unity-AI开发篇】| Unity-MCP最新指南:让AI接管游戏开发
人工智能·游戏·unity·ai·游戏引擎·mcp·unitymcp
音视频开发_AIZ17 小时前
语聊房实时语音SDK选型:即构 vs 声网 vs 腾讯云深度对比
flutter·unity·uni-app·实时音视频·ai降噪·实时语音·语音社交
HahaGiver66617 小时前
Unity Shader Graph 2D - 一个液体瓶子效果
unity·游戏引擎