Unlit_GlowMask.glsl
源文件:
shaders/Unlit_GlowMask.glsl
glsl
// shader : Unlit/GlowMask
// 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;
uniform float _PassWeight;
uniform float _GlowFirstPass;
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;
vec2 u_xlat0;
mediump float u_xlat16_0;
vec4 u_xlat1;
mediump vec2 u_xlat16_1;
bool u_xlatb1;
vec4 u_xlat2;
vec2 u_xlat3;
mediump float u_xlat16_3;
float u_xlat6;
mediump float u_xlat16_6;
mediump float u_xlat16_7;
float u_xlat9;
mediump float u_xlat16_9;
void main()
{
u_xlat0.x = 0.0;
u_xlat0.y = (-_DilateTexelSize.y);
u_xlat0.xy = u_xlat0.xy + vs_TEXCOORD0.xy;
u_xlat16_0 = texture(_MainTex, u_xlat0.xy).x;
u_xlat1.xw = _DilateTexelSize.xy;
u_xlat1.y = float(0.0);
u_xlat1.z = float(0.0);
u_xlat1 = u_xlat1 + vs_TEXCOORD0.xyxy;
u_xlat16_3 = texture(_MainTex, u_xlat1.zw).x;
u_xlat16_6 = texture(_MainTex, u_xlat1.xy).x;
u_xlat16_1.xy = texture(_MainTex, vs_TEXCOORD0.xy).xy;
u_xlat6 = max(u_xlat16_6, u_xlat16_1.x);
u_xlat2.xyz = (-_DilateTexelSize.xyx);
u_xlat2.w = 0.0;
u_xlat2 = u_xlat2.zwxy + vs_TEXCOORD0.xyxy;
u_xlat16_9 = texture(_MainTex, u_xlat2.xy).x;
u_xlat16_7 = texture(_MainTex, u_xlat2.zw).x;
u_xlat6 = max(u_xlat16_9, u_xlat6);
u_xlat3.x = max(u_xlat16_3, u_xlat6);
u_xlat0.x = max(u_xlat16_0, u_xlat3.x);
u_xlat3.xy = vs_TEXCOORD0.xy + _DilateTexelSize.xy;
u_xlat16_3 = texture(_MainTex, u_xlat3.xy).x;
u_xlat0.x = max(u_xlat16_3, u_xlat0.x);
u_xlat2 = _DilateTexelSize.xyxy * vec4(-1.0, 1.0, 1.0, -1.0) + vs_TEXCOORD0.xyxy;
u_xlat16_3 = texture(_MainTex, u_xlat2.xy).x;
u_xlat16_6 = texture(_MainTex, u_xlat2.zw).x;
u_xlat0.x = max(u_xlat16_3, u_xlat0.x);
u_xlat0.x = max(u_xlat16_6, u_xlat0.x);
u_xlat0.x = max(u_xlat16_7, u_xlat0.x);
u_xlat6 = (-u_xlat16_1.x) + u_xlat0.x;
u_xlat6 = clamp(u_xlat6, 0.0, 1.0);
u_xlat16_9 = texture(_ComposeRT, vs_TEXCOORD0.xy).x;
u_xlat9 = (-u_xlat16_9) + 1.0;
u_xlat6 = u_xlat9 * u_xlat6;
u_xlat9 = _PassWeight * u_xlat6 + u_xlat16_1.y;
u_xlat6 = u_xlat6 * _PassWeight;
u_xlatb1 = 0.5<_GlowFirstPass;
u_xlat0.y = (u_xlatb1) ? u_xlat6 : u_xlat9;
u_xlat0.y = clamp(u_xlat0.y, 0.0, 1.0);
SV_Target0.xy = u_xlat0.xy;
return;
}
#endif
��������u
����������������������$Globals�����������������u
��������������������������#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 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
UNITY_LOCATION(0) uniform mediump sampler2D _MainTex;
in highp vec2 vs_TEXCOORD0;
layout(location = 0) out mediump vec2 SV_Target0;
mediump float u_xlat16_0;
void main()
{
u_xlat16_0 = texture(_MainTex, vs_TEXCOORD0.xy).y;
SV_Target0.y = u_xlat16_0;
SV_Target0.x = 0.0;
return;
}
#endif