Skip to content

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