Unity 框架

OutlineMask.shader 732B

12345678910111213141516171819202122232425262728
  1. Shader "Custom/Outline Mask" {
  2. Properties {
  3. [Enum(UnityEngine.Rendering.CompareFunction)] _ZTest("ZTest", Float) = 0
  4. }
  5. SubShader {
  6. Tags {
  7. "Queue" = "Transparent+100"
  8. "RenderType" = "Transparent"
  9. }
  10. Pass {
  11. Name "Mask"
  12. Cull Off
  13. ZTest [_ZTest] //深度测试
  14. ZWrite Off //关闭深度写入
  15. ColorMask 0//启用对 R、G、B 和 A 通道的颜色写入
  16. //此通道中的所有像素都会通过模板测试并将值 1 写入模板缓冲区
  17. //防止后续着色器绘制到渲染目标的此区域或将它们限制为仅渲染到此区域
  18. Stencil {
  19. Ref 1
  20. Pass Replace//模版操作 将参考值写入缓冲区。
  21. }
  22. }
  23. }
  24. }