Unlit_EdgeMask.glsl
源文件:
shaders/Unlit_EdgeMask.glsl
glsl
// shader : Unlit/EdgeMask
// asset : sharedassets12.assets
// platform : 9
#ifdef VERTEX
#version 300 es
#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
#if HLSLCC_ENABLE_UNIFORM_BUFFERS
#define UNITY_UNIFORM
#else
#define UNITY_UNIFORM uniform
#endif
#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
#if UNITY_SUPPORTS_UNIFORM_LOCATION
#define UNITY_LOCATION(x) layout(location = x)
#define UNITY_BINDING(x) layout(binding = x, std140)
#else
#define UNITY_LOCATION(x)
#define UNITY_BINDING(x) layout(std140)
#endif
uniform vec4 hlslcc_mtx4x4unity_ObjectToWorld[4];
uniform vec4 hlslcc_mtx4x4unity_MatrixVP[4];
in highp vec4 in_POSITION0;
in highp vec2 in_TEXCOORD0;
out highp vec2 vs_TEXCOORD0;
vec4 u_xlat0;
vec4 u_xlat1;
void main()
{
vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
u_xlat0 = in_POSITION0.yyyy * hlslcc_mtx4x4unity_ObjectToWorld[1];
u_xlat0 = hlslcc_mtx4x4unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
u_xlat0 = hlslcc_mtx4x4unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
u_xlat0 = u_xlat0 + hlslcc_mtx4x4unity_ObjectToWorld[3];
u_xlat1 = u_xlat0.yyyy * hlslcc_mtx4x4unity_MatrixVP[1];
u_xlat1 = hlslcc_mtx4x4unity_MatrixVP[0] * u_xlat0.xxxx + u_xlat1;
u_xlat1 = hlslcc_mtx4x4unity_MatrixVP[2] * u_xlat0.zzzz + u_xlat1;
gl_Position = hlslcc_mtx4x4unity_MatrixVP[3] * u_xlat0.wwww + u_xlat1;
return;
}
#endif
#ifdef FRAGMENT
#version 300 es
precision highp float;
precision highp int;
#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
#if HLSLCC_ENABLE_UNIFORM_BUFFERS
#define UNITY_UNIFORM
#else
#define UNITY_UNIFORM uniform
#endif
#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
#if UNITY_SUPPORTS_UNIFORM_LOCATION
#define UNITY_LOCATION(x) layout(location = x)
#define UNITY_BINDING(x) layout(binding = x, std140)
#else
#define UNITY_LOCATION(x)
#define UNITY_BINDING(x) layout(std140)
#endif
uniform vec4 _DilateTexelSize;
UNITY_LOCATION(0) uniform mediump sampler2D _MainTex;
in highp vec2 vs_TEXCOORD0;
layout(location = 0) out mediump vec2 SV_Target0;
vec4 u_xlat0;
mediump float u_xlat16_0;
vec4 u_xlat1;
vec2 u_xlat2;
mediump float u_xlat16_2;
mediump float u_xlat16_4;
mediump float u_xlat16_6;
void main()
{
u_xlat0.xw = _DilateTexelSize.xy;
u_xlat0.y = float(0.0);
u_xlat0.z = float(0.0);
u_xlat0 = u_xlat0 + vs_TEXCOORD0.xyxy;
u_xlat16_0 = texture(_MainTex, u_xlat0.xy).x;
u_xlat16_2 = texture(_MainTex, u_xlat0.zw).x;
u_xlat16_4 = texture(_MainTex, vs_TEXCOORD0.xy).x;
u_xlat0.x = max(u_xlat16_0, u_xlat16_4);
u_xlat1.xyz = (-_DilateTexelSize.xyx);
u_xlat1.w = 0.0;
u_xlat1 = u_xlat1.zwxy + vs_TEXCOORD0.xyxy;
u_xlat16_4 = texture(_MainTex, u_xlat1.xy).x;
u_xlat16_6 = texture(_MainTex, u_xlat1.zw).x;
u_xlat0.x = max(u_xlat16_4, u_xlat0.x);
u_xlat0.x = max(u_xlat16_2, u_xlat0.x);
u_xlat1.x = 0.0;
u_xlat1.y = (-_DilateTexelSize.y);
u_xlat2.xy = u_xlat1.xy + vs_TEXCOORD0.xy;
u_xlat16_2 = texture(_MainTex, u_xlat2.xy).x;
u_xlat0.x = max(u_xlat16_2, u_xlat0.x);
u_xlat2.xy = vs_TEXCOORD0.xy + _DilateTexelSize.xy;
u_xlat16_2 = texture(_MainTex, u_xlat2.xy).x;
u_xlat0.x = max(u_xlat16_2, u_xlat0.x);
u_xlat1 = _DilateTexelSize.xyxy * vec4(-1.0, 1.0, 1.0, -1.0) + vs_TEXCOORD0.xyxy;
u_xlat16_2 = texture(_MainTex, u_xlat1.xy).x;
u_xlat16_4 = texture(_MainTex, u_xlat1.zw).x;
u_xlat0.x = max(u_xlat16_2, u_xlat0.x);
u_xlat0.x = max(u_xlat16_4, u_xlat0.x);
u_xlat0.x = max(u_xlat16_6, u_xlat0.x);
SV_Target0.x = u_xlat0.x;
SV_Target0.y = 0.0;
return;
}
#endif
���������u
�����������������������O��#ifdef VERTEX
#version 300 es
#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
#if HLSLCC_ENABLE_UNIFORM_BUFFERS
#define UNITY_UNIFORM
#else
#define UNITY_UNIFORM uniform
#endif
#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
#if UNITY_SUPPORTS_UNIFORM_LOCATION
#define UNITY_LOCATION(x) layout(location = x)
#define UNITY_BINDING(x) layout(binding = x, std140)
#else
#define UNITY_LOCATION(x)
#define UNITY_BINDING(x) layout(std140)
#endif
uniform vec4 hlslcc_mtx4x4unity_ObjectToWorld[4];
uniform vec4 hlslcc_mtx4x4unity_MatrixVP[4];
in highp vec4 in_POSITION0;
in highp vec2 in_TEXCOORD0;
out highp vec2 vs_TEXCOORD0;
vec4 u_xlat0;
vec4 u_xlat1;
void main()
{
vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
u_xlat0 = in_POSITION0.yyyy * hlslcc_mtx4x4unity_ObjectToWorld[1];
u_xlat0 = hlslcc_mtx4x4unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
u_xlat0 = hlslcc_mtx4x4unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
u_xlat0 = u_xlat0 + hlslcc_mtx4x4unity_ObjectToWorld[3];
u_xlat1 = u_xlat0.yyyy * hlslcc_mtx4x4unity_MatrixVP[1];
u_xlat1 = hlslcc_mtx4x4unity_MatrixVP[0] * u_xlat0.xxxx + u_xlat1;
u_xlat1 = hlslcc_mtx4x4unity_MatrixVP[2] * u_xlat0.zzzz + u_xlat1;
gl_Position = hlslcc_mtx4x4unity_MatrixVP[3] * u_xlat0.wwww + u_xlat1;
return;
}
#endif
#ifdef FRAGMENT
#version 300 es
precision highp float;
precision highp int;
#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
#if HLSLCC_ENABLE_UNIFORM_BUFFERS
#define UNITY_UNIFORM
#else
#define UNITY_UNIFORM uniform
#endif
#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
#if UNITY_SUPPORTS_UNIFORM_LOCATION
#define UNITY_LOCATION(x) layout(location = x)
#define UNITY_BINDING(x) layout(binding = x, std140)
#else
#define UNITY_LOCATION(x)
#define UNITY_BINDING(x) layout(std140)
#endif
uniform vec4 _DilateTexelSize;
UNITY_LOCATION(0) uniform mediump sampler2D _MainTex;
UNITY_LOCATION(1) uniform mediump sampler2D _ComposeRT;
in highp vec2 vs_TEXCOORD0;
layout(location = 0) out mediump vec2 SV_Target0;
vec4 u_xlat0;
mediump float u_xlat16_0;
vec4 u_xlat1;
vec2 u_xlat2;
mediump float u_xlat16_2;
mediump float u_xlat16_4;
mediump float u_xlat16_6;
void main()
{
u_xlat0.xw = _DilateTexelSize.xy;
u_xlat0.y = float(0.0);
u_xlat0.z = float(0.0);
u_xlat0 = u_xlat0 + vs_TEXCOORD0.xyxy;
u_xlat16_0 = texture(_MainTex, u_xlat0.xy).x;
u_xlat16_2 = texture(_MainTex, u_xlat0.zw).x;
u_xlat16_4 = texture(_MainTex, vs_TEXCOORD0.xy).x;
u_xlat0.x = max(u_xlat16_0, u_xlat16_4);
u_xlat1.xyz = (-_DilateTexelSize.xyx);
u_xlat1.w = 0.0;
u_xlat1 = u_xlat1.zwxy + vs_TEXCOORD0.xyxy;
u_xlat16_4 = texture(_MainTex, u_xlat1.xy).x;
u_xlat16_6 = texture(_MainTex, u_xlat1.zw).x;
u_xlat0.x = max(u_xlat16_4, u_xlat0.x);
u_xlat0.x = max(u_xlat16_2, u_xlat0.x);
u_xlat1.x = 0.0;
u_xlat1.y = (-_DilateTexelSize.y);
u_xlat2.xy = u_xlat1.xy + vs_TEXCOORD0.xy;
u_xlat16_2 = texture(_MainTex, u_xlat2.xy).x;
u_xlat0.x = max(u_xlat16_2, u_xlat0.x);
u_xlat2.xy = vs_TEXCOORD0.xy + _DilateTexelSize.xy;
u_xlat16_2 = texture(_MainTex, u_xlat2.xy).x;
u_xlat0.x = max(u_xlat16_2, u_xlat0.x);
u_xlat1 = _DilateTexelSize.xyxy * vec4(-1.0, 1.0, 1.0, -1.0) + vs_TEXCOORD0.xyxy;
u_xlat16_2 = texture(_MainTex, u_xlat1.xy).x;
u_xlat16_4 = texture(_MainTex, u_xlat1.zw).x;
u_xlat0.x = max(u_xlat16_2, u_xlat0.x);
u_xlat0.x = max(u_xlat16_4, u_xlat0.x);
u_xlat0.x = max(u_xlat16_6, u_xlat0.x);
u_xlat16_2 = texture(_ComposeRT, vs_TEXCOORD0.xy).x;
u_xlat0.x = (-u_xlat16_2) + u_xlat0.x;
u_xlat0.x = clamp(u_xlat0.x, 0.0, 1.0);
SV_Target0.x = u_xlat0.x;
SV_Target0.y = 0.0;
return;
}
#endif