fix(memory-shader): 补齐 UI Stencil 并修复 aspect 计算
Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -21,6 +21,13 @@ Shader "AibisDream/MemoryTuningSprite"
|
||||
_UVDistortFade ("UV Distort Fade", Range(0,1)) = 0
|
||||
_MemoryGrayscale ("Memory Grayscale", Range(0,1)) = 0
|
||||
_MemoryContrast ("Memory Contrast", Range(0,3)) = 1
|
||||
|
||||
[HideInInspector] _StencilComp ("Stencil Comparison", Float) = 8
|
||||
[HideInInspector] _Stencil ("Stencil ID", Float) = 0
|
||||
[HideInInspector] _StencilOp ("Stencil Operation", Float) = 0
|
||||
[HideInInspector] _StencilWriteMask ("Stencil Write Mask", Float) = 255
|
||||
[HideInInspector] _StencilReadMask ("Stencil Read Mask", Float) = 255
|
||||
[HideInInspector] _ColorMask ("Color Mask", Float) = 15
|
||||
}
|
||||
|
||||
SubShader
|
||||
@@ -37,7 +44,18 @@ Shader "AibisDream/MemoryTuningSprite"
|
||||
Cull Off
|
||||
Lighting Off
|
||||
ZWrite Off
|
||||
ZTest [unity_GUIZTestMode]
|
||||
Blend SrcAlpha OneMinusSrcAlpha
|
||||
ColorMask [_ColorMask]
|
||||
|
||||
Stencil
|
||||
{
|
||||
Ref [_Stencil]
|
||||
Comp [_StencilComp]
|
||||
Pass [_StencilOp]
|
||||
ReadMask [_StencilReadMask]
|
||||
WriteMask [_StencilWriteMask]
|
||||
}
|
||||
|
||||
Pass
|
||||
{
|
||||
@@ -161,7 +179,7 @@ Shader "AibisDream/MemoryTuningSprite"
|
||||
|
||||
half4 ChromaticSample(float2 uv, half4 source, half strength)
|
||||
{
|
||||
float aspect = max(0.001, _MainTex_TexelSize.z / _MainTex_TexelSize.w);
|
||||
float aspect = max(0.001, abs(_MainTex_TexelSize.z) / max(1.0, abs(_MainTex_TexelSize.w)));
|
||||
float angle = 0.496 * 6.2831853;
|
||||
float2 dirA = float2(cos(angle) / aspect, sin(angle));
|
||||
float2 dirB = -dirA;
|
||||
|
||||
Reference in New Issue
Block a user