Unlit_BlockCompose.glsl
源文件:
shaders/Unlit_BlockCompose.glsl
glsl
// shader : Unlit/BlockCompose
// 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];
uniform mediump vec4 _DisplaceMap_ST;
in highp vec4 in_POSITION0;
in highp vec2 in_TEXCOORD0;
out highp vec2 vs_TEXCOORD0;
out highp vec2 vs_TEXCOORD1;
vec4 u_xlat0;
vec4 u_xlat1;
void main()
{
vs_TEXCOORD1.xy = in_TEXCOORD0.xy * _DisplaceMap_ST.xy + _DisplaceMap_ST.zw;
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 _Time;
uniform mediump float _DisplaceSpeed;
uniform mediump float _DisplaceStrength;
uniform mediump vec4 _DisplaceDirection;
UNITY_LOCATION(0) uniform mediump sampler2D _DisplaceMap;
UNITY_LOCATION(1) uniform mediump sampler2D _NormalBlockRT;
UNITY_LOCATION(2) uniform mediump sampler2D _SubtractBlockRT;
in highp vec2 vs_TEXCOORD0;
in highp vec2 vs_TEXCOORD1;
layout(location = 0) out mediump float SV_Target0;
mediump vec2 u_xlat16_0;
vec2 u_xlat1;
mediump float u_xlat16_1;
mediump float u_xlat16_4;
vec2 u_xlat5;
mediump float u_xlat16_5;
mediump float u_xlat16_6;
void main()
{
u_xlat16_0.x = dot(_DisplaceDirection.xy, _DisplaceDirection.xy);
u_xlat16_0.x = inversesqrt(u_xlat16_0.x);
u_xlat16_0.xy = u_xlat16_0.xx * _DisplaceDirection.xy;
u_xlat1.x = _Time.x * _DisplaceSpeed;
u_xlat5.y = u_xlat16_0.x * u_xlat1.x;
u_xlat5.x = (-u_xlat16_0.y) * u_xlat1.x;
u_xlat1.xy = u_xlat16_0.xy * u_xlat1.xx + vs_TEXCOORD1.xy;
u_xlat16_1 = texture(_DisplaceMap, u_xlat1.xy).x;
u_xlat16_4 = u_xlat16_1 + -0.5;
u_xlat1.xy = u_xlat5.xy + vs_TEXCOORD1.xy;
u_xlat16_1 = texture(_DisplaceMap, u_xlat1.xy).x;
u_xlat16_6 = u_xlat16_1 + -0.5;
u_xlat1.x = u_xlat16_6 * (-u_xlat16_0.y);
u_xlat1.y = u_xlat16_6 * u_xlat16_0.x;
u_xlat1.xy = u_xlat16_0.xy * vec2(u_xlat16_4) + u_xlat1.xy;
u_xlat1.xy = u_xlat1.xy * vec2(vec2(_DisplaceStrength, _DisplaceStrength)) + vs_TEXCOORD0.xy;
u_xlat16_5 = texture(_NormalBlockRT, u_xlat1.xy).x;
u_xlat16_1 = texture(_SubtractBlockRT, u_xlat1.xy).x;
u_xlat16_0.x = (-u_xlat16_5) + u_xlat16_1;
SV_Target0 = abs(u_xlat16_0.x);
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 _DisabledNormalBlockRT;
UNITY_LOCATION(1) uniform mediump sampler2D _DisabledSubtractBlockRT;
in highp vec2 vs_TEXCOORD0;
layout(location = 0) out mediump vec2 SV_Target0;
mediump float u_xlat16_0;
mediump float u_xlat16_1;
mediump vec2 u_xlat16_2;
void main()
{
u_xlat16_0 = texture(_DisabledNormalBlockRT, vs_TEXCOORD0.xy).x;
u_xlat16_2.xy = texture(_DisabledSubtractBlockRT, vs_TEXCOORD0.xy).xy;
u_xlat16_1 = u_xlat16_2.x * u_xlat16_2.y + (-u_xlat16_0);
SV_Target0.y = u_xlat16_2.y;
SV_Target0.x = abs(u_xlat16_1);
return;
}
#endif