mirror of
https://github.com/DCFApixels/Unity-DebugX.git
synced 2025-09-18 01:54:37 +08:00
84 lines
2.0 KiB
Plaintext
84 lines
2.0 KiB
Plaintext
![]() |
Shader "DCFApixels/DebugX/Handles Buillboard"
|
||
|
{
|
||
|
Properties
|
||
|
{
|
||
|
_Color ("Color", Color) = (1,1,1,1)
|
||
|
}
|
||
|
SubShader
|
||
|
{
|
||
|
Tags { "Queue"="Transparent" "IgnoreProjector"="True" "RenderType"="Transparent" "PreviewType"="Plane" }
|
||
|
Blend SrcAlpha OneMinusSrcAlpha
|
||
|
ZWrite Off Fog { Mode Off }
|
||
|
Lighting Off
|
||
|
|
||
|
ZTest On
|
||
|
|
||
|
CGINCLUDE
|
||
|
#pragma vertex vert
|
||
|
#pragma fragment frag
|
||
|
#pragma multi_compile_instancing
|
||
|
#include "UnityCG.cginc"
|
||
|
|
||
|
struct appdata_t
|
||
|
{
|
||
|
float4 vertex : POSITION;
|
||
|
float4 color : COLOR;
|
||
|
UNITY_VERTEX_INPUT_INSTANCE_ID
|
||
|
};
|
||
|
|
||
|
struct v2f
|
||
|
{
|
||
|
float4 vertex : SV_POSITION;
|
||
|
half4 color : COLOR;
|
||
|
};
|
||
|
|
||
|
UNITY_INSTANCING_BUFFER_START(Props)
|
||
|
UNITY_DEFINE_INSTANCED_PROP(float4, _Color)
|
||
|
UNITY_INSTANCING_BUFFER_END(Props)
|
||
|
|
||
|
float4 _DebugX_GlobalColor;
|
||
|
|
||
|
v2f vert (appdata_t v)
|
||
|
{
|
||
|
v2f o;
|
||
|
UNITY_SETUP_INSTANCE_ID(v);
|
||
|
|
||
|
|
||
|
float4 worldOrigin = mul(UNITY_MATRIX_M, float4(0, 0, 0, 1));
|
||
|
float4 viewOrigin = float4(UnityObjectToViewPos(float3(0, 0, 0)), 1);
|
||
|
float4 worldPos = mul(UNITY_MATRIX_M, v.vertex);
|
||
|
|
||
|
float4 viewPos = worldPos - worldOrigin + viewOrigin;
|
||
|
|
||
|
float4 clipsPos = mul(UNITY_MATRIX_P, viewPos);
|
||
|
o.vertex = clipsPos;
|
||
|
|
||
|
|
||
|
//o.vertex = UnityObjectToClipPos(v.vertex);
|
||
|
o.color = v.color * UNITY_ACCESS_INSTANCED_PROP(Props, _Color) * _DebugX_GlobalColor;
|
||
|
return o;
|
||
|
}
|
||
|
ENDCG
|
||
|
|
||
|
Pass
|
||
|
{
|
||
|
ZTest LEqual
|
||
|
CGPROGRAM
|
||
|
half4 frag (v2f i) : SV_Target
|
||
|
{
|
||
|
return i.color;
|
||
|
}
|
||
|
ENDCG
|
||
|
}
|
||
|
Pass
|
||
|
{
|
||
|
ZTest Greater
|
||
|
CGPROGRAM
|
||
|
half4 frag (v2f i) : SV_Target
|
||
|
{
|
||
|
return i.color * half4(1, 1, 1, 0.1);
|
||
|
}
|
||
|
ENDCG
|
||
|
}
|
||
|
}
|
||
|
}
|