summaryrefslogtreecommitdiff
path: root/shaders/unity/99-Water.shader_test
diff options
context:
space:
mode:
Diffstat (limited to 'shaders/unity/99-Water.shader_test')
-rw-r--r--shaders/unity/99-Water.shader_test206
1 files changed, 206 insertions, 0 deletions
diff --git a/shaders/unity/99-Water.shader_test b/shaders/unity/99-Water.shader_test
new file mode 100644
index 0000000..eacd204
--- /dev/null
+++ b/shaders/unity/99-Water.shader_test
@@ -0,0 +1,206 @@
+# Built-in shader from Unity 5.0.0b19:
+# FX/Water4
+# internal variant: WATER_EDGEBLEND_ON WATER_REFLECTIVE WATER_VERTEX_DISPLACEMENT_ON
+# This shader GLSL dump is put under MIT license
+[require]
+GLSL >= 1.10
+
+[vertex shader]
+uniform vec4 _Time;
+uniform vec3 _WorldSpaceCameraPos;
+uniform vec4 _ProjectionParams;
+
+uniform mat4 _Object2World;
+uniform float _GerstnerIntensity;
+uniform vec4 _BumpTiling;
+uniform vec4 _BumpDirection;
+uniform vec4 _GAmplitude;
+uniform vec4 _GFrequency;
+uniform vec4 _GSteepness;
+uniform vec4 _GSpeed;
+uniform vec4 _GDirectionAB;
+uniform vec4 _GDirectionCD;
+varying vec4 xlv_TEXCOORD0;
+varying vec4 xlv_TEXCOORD1;
+varying vec4 xlv_TEXCOORD2;
+varying vec4 xlv_TEXCOORD3;
+varying vec4 xlv_TEXCOORD4;
+void main ()
+{
+ vec4 tmpvar_1;
+ tmpvar_1.w = gl_Vertex.w;
+ vec4 tmpvar_2;
+ vec4 tmpvar_3;
+ vec3 tmpvar_4;
+ tmpvar_4 = (_Object2World * gl_Vertex).xyz;
+ vec3 offsets_5;
+ vec4 tmpvar_6;
+ tmpvar_6 = ((_GSteepness.xxyy * _GAmplitude.xxyy) * _GDirectionAB);
+ vec4 tmpvar_7;
+ tmpvar_7 = ((_GSteepness.zzww * _GAmplitude.zzww) * _GDirectionCD);
+ vec4 tmpvar_8;
+ tmpvar_8.x = dot (_GDirectionAB.xy, tmpvar_4.xz);
+ tmpvar_8.y = dot (_GDirectionAB.zw, tmpvar_4.xz);
+ tmpvar_8.z = dot (_GDirectionCD.xy, tmpvar_4.xz);
+ tmpvar_8.w = dot (_GDirectionCD.zw, tmpvar_4.xz);
+ vec4 tmpvar_9;
+ tmpvar_9 = (_GFrequency * tmpvar_8);
+ vec4 cse_10;
+ cse_10 = (_Time.yyyy * _GSpeed);
+ vec4 tmpvar_11;
+ tmpvar_11 = cos((tmpvar_9 + cse_10));
+ vec4 tmpvar_12;
+ tmpvar_12.xy = tmpvar_6.xz;
+ tmpvar_12.zw = tmpvar_7.xz;
+ offsets_5.x = dot (tmpvar_11, tmpvar_12);
+ vec4 tmpvar_13;
+ tmpvar_13.xy = tmpvar_6.yw;
+ tmpvar_13.zw = tmpvar_7.yw;
+ offsets_5.z = dot (tmpvar_11, tmpvar_13);
+ offsets_5.y = dot (sin((tmpvar_9 + cse_10)), _GAmplitude);
+ vec2 xzVtx_14;
+ xzVtx_14 = (tmpvar_4.xz + offsets_5.xz);
+ vec3 nrml_15;
+ nrml_15.y = 2.0;
+ vec4 tmpvar_16;
+ tmpvar_16 = ((_GFrequency.xxyy * _GAmplitude.xxyy) * _GDirectionAB);
+ vec4 tmpvar_17;
+ tmpvar_17 = ((_GFrequency.zzww * _GAmplitude.zzww) * _GDirectionCD);
+ vec4 tmpvar_18;
+ tmpvar_18.x = dot (_GDirectionAB.xy, xzVtx_14);
+ tmpvar_18.y = dot (_GDirectionAB.zw, xzVtx_14);
+ tmpvar_18.z = dot (_GDirectionCD.xy, xzVtx_14);
+ tmpvar_18.w = dot (_GDirectionCD.zw, xzVtx_14);
+ vec4 tmpvar_19;
+ tmpvar_19 = cos(((_GFrequency * tmpvar_18) + cse_10));
+ vec4 tmpvar_20;
+ tmpvar_20.xy = tmpvar_16.xz;
+ tmpvar_20.zw = tmpvar_17.xz;
+ nrml_15.x = -(dot (tmpvar_19, tmpvar_20));
+ vec4 tmpvar_21;
+ tmpvar_21.xy = tmpvar_16.yw;
+ tmpvar_21.zw = tmpvar_17.yw;
+ nrml_15.z = -(dot (tmpvar_19, tmpvar_21));
+ nrml_15.xz = (nrml_15.xz * _GerstnerIntensity);
+ vec3 tmpvar_22;
+ tmpvar_22 = normalize(nrml_15);
+ nrml_15 = tmpvar_22;
+ tmpvar_1.xyz = (gl_Vertex.xyz + offsets_5);
+ tmpvar_3.xyz = (tmpvar_4 - _WorldSpaceCameraPos);
+ vec4 tmpvar_23;
+ tmpvar_23 = (gl_ModelViewProjectionMatrix * tmpvar_1);
+ vec4 grabPassPos_24;
+ vec4 o_25;
+ vec4 tmpvar_26;
+ tmpvar_26 = (tmpvar_23 * 0.5);
+ vec2 tmpvar_27;
+ tmpvar_27.x = tmpvar_26.x;
+ tmpvar_27.y = (tmpvar_26.y * _ProjectionParams.x);
+ o_25.xy = (tmpvar_27 + tmpvar_26.w);
+ o_25.zw = tmpvar_23.zw;
+ grabPassPos_24.xy = ((tmpvar_23.xy + tmpvar_23.w) * 0.5);
+ grabPassPos_24.zw = tmpvar_23.zw;
+ tmpvar_2.xyz = tmpvar_22;
+ tmpvar_3.w = clamp (offsets_5.y, 0.0, 1.0);
+ tmpvar_2.w = 1.0;
+ gl_Position = tmpvar_23;
+ xlv_TEXCOORD0 = tmpvar_2;
+ xlv_TEXCOORD1 = tmpvar_3;
+ xlv_TEXCOORD2 = (((_Object2World * tmpvar_1).xzxz + (_Time.xxxx * _BumpDirection)) * _BumpTiling);
+ xlv_TEXCOORD3 = o_25;
+ xlv_TEXCOORD4 = grabPassPos_24;
+}
+
+[fragment shader]
+uniform vec4 _ZBufferParams;
+uniform sampler2D _BumpMap;
+uniform sampler2D _ReflectionTex;
+uniform sampler2D _RefractionTex;
+uniform sampler2D _ShoreTex;
+uniform sampler2D _CameraDepthTexture;
+uniform vec4 _SpecularColor;
+uniform vec4 _BaseColor;
+uniform vec4 _ReflectionColor;
+uniform vec4 _InvFadeParemeter;
+uniform float _Shininess;
+uniform vec4 _WorldLightDir;
+uniform vec4 _DistortParams;
+uniform float _FresnelScale;
+uniform vec4 _Foam;
+varying vec4 xlv_TEXCOORD0;
+varying vec4 xlv_TEXCOORD1;
+varying vec4 xlv_TEXCOORD2;
+varying vec4 xlv_TEXCOORD3;
+varying vec4 xlv_TEXCOORD4;
+void main ()
+{
+ vec4 baseColor_1;
+ vec4 edgeBlendFactors_2;
+ vec4 rtRefractions_3;
+ vec3 worldNormal_4;
+ vec3 normal_5;
+ normal_5.xy = ((texture2D (_BumpMap, xlv_TEXCOORD2.xy).wy * 2.0) - 1.0);
+ normal_5.z = sqrt((1.0 - clamp (
+ dot (normal_5.xy, normal_5.xy)
+ , 0.0, 1.0)));
+ vec3 normal_6;
+ normal_6.xy = ((texture2D (_BumpMap, xlv_TEXCOORD2.zw).wy * 2.0) - 1.0);
+ normal_6.z = sqrt((1.0 - clamp (
+ dot (normal_6.xy, normal_6.xy)
+ , 0.0, 1.0)));
+ vec3 tmpvar_7;
+ tmpvar_7 = normalize((xlv_TEXCOORD0.xyz + (
+ (((normal_5 + normal_6) * 0.5).xxy * _DistortParams.x)
+ * vec3(1.0, 0.0, 1.0))));
+ worldNormal_4 = tmpvar_7;
+ vec3 tmpvar_8;
+ tmpvar_8 = normalize(xlv_TEXCOORD1.xyz);
+ vec4 tmpvar_9;
+ tmpvar_9.zw = vec2(0.0, 0.0);
+ tmpvar_9.xy = ((tmpvar_7.xz * _DistortParams.y) * 10.0);
+ vec4 tmpvar_10;
+ tmpvar_10 = (xlv_TEXCOORD4 + tmpvar_9);
+ vec4 tmpvar_11;
+ tmpvar_11 = texture2DProj (_RefractionTex, xlv_TEXCOORD4);
+ rtRefractions_3 = texture2DProj (_RefractionTex, tmpvar_10);
+ vec4 tmpvar_12;
+ tmpvar_12 = texture2DProj (_ReflectionTex, (xlv_TEXCOORD3 + tmpvar_9));
+ float tmpvar_13;
+ tmpvar_13 = (1.0/(((_ZBufferParams.z * texture2DProj (_CameraDepthTexture, tmpvar_10).x) + _ZBufferParams.w)));
+ if ((tmpvar_13 < xlv_TEXCOORD3.z)) {
+ rtRefractions_3 = tmpvar_11;
+ };
+ vec4 tmpvar_14;
+ tmpvar_14 = clamp ((_InvFadeParemeter * (
+ (1.0/(((_ZBufferParams.z * texture2DProj (_CameraDepthTexture, xlv_TEXCOORD3).x) + _ZBufferParams.w)))
+ - xlv_TEXCOORD3.w)), 0.0, 1.0);
+ edgeBlendFactors_2.xzw = tmpvar_14.xzw;
+ edgeBlendFactors_2.y = (1.0 - tmpvar_14.y);
+ worldNormal_4.xz = (tmpvar_7.xz * _FresnelScale);
+ vec4 tmpvar_15;
+ tmpvar_15 = (_BaseColor - ((xlv_TEXCOORD1.w * _InvFadeParemeter.w) * vec4(0.15, 0.03, 0.01, 0.0)));
+ vec4 coords_16;
+ coords_16 = (xlv_TEXCOORD2 * 2.0);
+ baseColor_1.xyz = ((mix (
+ mix (rtRefractions_3, tmpvar_15, tmpvar_15.wwww)
+ ,
+ mix (tmpvar_12, _ReflectionColor, _ReflectionColor.wwww)
+ , vec4(
+ clamp ((_DistortParams.w + ((1.0 - _DistortParams.w) * pow (
+ clamp ((1.0 - max (dot (
+ -(tmpvar_8)
+ , worldNormal_4), 0.0)), 0.0, 1.0)
+ , _DistortParams.z))), 0.0, 1.0)
+ )) + (
+ max (0.0, pow (max (0.0, dot (tmpvar_7,
+ -(normalize((_WorldLightDir.xyz + tmpvar_8)))
+ )), _Shininess))
+ * _SpecularColor)).xyz + ((
+ ((texture2D (_ShoreTex, coords_16.xy) * texture2D (_ShoreTex, coords_16.zw)) - 0.125)
+ .xyz * _Foam.x) * (edgeBlendFactors_2.y +
+ clamp ((xlv_TEXCOORD1.w - _Foam.y), 0.0, 1.0)
+ )));
+ baseColor_1.w = edgeBlendFactors_2.x;
+ gl_FragData[0] = baseColor_1;
+}
+