2023-05-08 15:56:10 +03:00

52 lines
1.2 KiB
Plaintext

Shader "MixedReality/PassthroughLine" {
Properties{
_LineLength("Line Length", float) = 1
} SubShader {
Tags{"RenderType" = "Transparent"} LOD 100
Pass {
ZWrite Off
BlendOp RevSub, Min
Blend Zero One, One One
CGPROGRAM
// Upgrade NOTE: excluded shader from DX11; has structs without semantics (struct v2f members
// center)
//#pragma exclude_renderers d3d11
#pragma vertex vert
#pragma fragment frag
#include "UnityCG.cginc"
struct appdata {
float4 vertex : POSITION;
float2 uv : TEXCOORD0;
float3 normal : NORMAL;
};
struct v2f {
float2 uv : TEXCOORD0;
float4 vertex : SV_POSITION;
};
v2f vert(appdata v) {
v2f o;
o.vertex = UnityObjectToClipPos(v.vertex);
o.uv = v.uv;
return o;
}
float _LineLength;
fixed4 frag(v2f i) : SV_Target {
float UVfadeRange = 0.2;
fixed widthAlpha = 1 - smoothstep(0.5 - UVfadeRange, 0.5, abs(i.uv.y - 0.5));
fixed lengthAlpha = 1 - smoothstep(0.5 - (UVfadeRange / _LineLength), 0.5, abs(i.uv.x - 0.5));
return float4(0, 0, 0, 1-(widthAlpha * lengthAlpha));
}
ENDCG
}
}
}