You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
111 lines
2.7 KiB
Plaintext
111 lines
2.7 KiB
Plaintext
Shader "QO/Effect/Wave" {
|
|
Properties {
|
|
_tex0 ("_tex0 : Original Image (RGBA)", 2D) = "white" {}
|
|
_tex1 ("_tex1 : Transform Image (RGBA)", 2D) = "white" {}
|
|
_power ("_power : Wave Power", Float) = 0
|
|
_count ("_count : Go Return Count", Float) = 0
|
|
_time ("_time : Time Rate (0 to 1)", Range(0,1)) = 0
|
|
}
|
|
SubShader {
|
|
LOD 200
|
|
Tags { "QUEUE"="Transparent" "RenderType"="Transparent" }
|
|
Pass {
|
|
Tags { "QUEUE"="Transparent" "RenderType"="Transparent" }
|
|
Blend SrcAlpha OneMinusSrcAlpha
|
|
Program "vp" {
|
|
SubProgram "gles " {
|
|
"!!GLES
|
|
|
|
|
|
#ifdef VERTEX
|
|
|
|
varying lowp vec2 xlv_TEXCOORD0;
|
|
varying lowp vec4 xlv_COLOR0;
|
|
uniform highp mat4 glstate_matrix_mvp;
|
|
attribute vec4 _glesMultiTexCoord0;
|
|
attribute vec4 _glesVertex;
|
|
void main ()
|
|
{
|
|
lowp vec2 tmpvar_1;
|
|
highp vec2 tmpvar_2;
|
|
tmpvar_2 = _glesMultiTexCoord0.xy;
|
|
tmpvar_1 = tmpvar_2;
|
|
gl_Position = (glstate_matrix_mvp * _glesVertex);
|
|
xlv_COLOR0 = vec4(1.0, 1.0, 1.0, 1.0);
|
|
xlv_TEXCOORD0 = tmpvar_1;
|
|
}
|
|
|
|
|
|
|
|
#endif
|
|
#ifdef FRAGMENT
|
|
|
|
varying lowp vec2 xlv_TEXCOORD0;
|
|
uniform highp float _time;
|
|
uniform highp float _count;
|
|
uniform highp float _power;
|
|
uniform sampler2D _tex1;
|
|
uniform sampler2D _tex0;
|
|
void main ()
|
|
{
|
|
mediump vec4 t0_1;
|
|
lowp float check2_2;
|
|
lowp float check1_3;
|
|
mediump float wave_4;
|
|
mediump float theta_5;
|
|
mediump float sin_omega_6;
|
|
highp float tmpvar_7;
|
|
tmpvar_7 = sin((_time * 3.14159));
|
|
sin_omega_6 = tmpvar_7;
|
|
highp float tmpvar_8;
|
|
tmpvar_8 = (((sin_omega_6 * 3.14159) * (_count * 2.0)) * (0.5 - xlv_TEXCOORD0.y));
|
|
theta_5 = tmpvar_8;
|
|
mediump float tmpvar_9;
|
|
tmpvar_9 = cos(theta_5);
|
|
highp float tmpvar_10;
|
|
tmpvar_10 = ((tmpvar_9 * sin_omega_6) * _power);
|
|
wave_4 = tmpvar_10;
|
|
mediump float tmpvar_11;
|
|
tmpvar_11 = (xlv_TEXCOORD0.x + wave_4);
|
|
mediump vec2 tmpvar_12;
|
|
tmpvar_12.x = tmpvar_11;
|
|
tmpvar_12.y = xlv_TEXCOORD0.y;
|
|
mediump float tmpvar_13;
|
|
tmpvar_13 = float((-0.01 >= tmpvar_11));
|
|
check1_3 = tmpvar_13;
|
|
mediump float tmpvar_14;
|
|
tmpvar_14 = float((-0.01 >= (1.0 - tmpvar_11)));
|
|
check2_2 = tmpvar_14;
|
|
lowp float tmpvar_15;
|
|
tmpvar_15 = float((0.0 >= (check1_3 + check2_2)));
|
|
lowp vec4 tmpvar_16;
|
|
tmpvar_16 = texture2D (_tex0, tmpvar_12);
|
|
highp vec4 tmpvar_17;
|
|
tmpvar_17.xyz = tmpvar_16.xyz;
|
|
tmpvar_17.w = (1.0 - _time);
|
|
t0_1 = tmpvar_17;
|
|
lowp vec4 tmpvar_18;
|
|
tmpvar_18 = texture2D (_tex1, tmpvar_12);
|
|
mediump vec4 tmpvar_19;
|
|
tmpvar_19.xyz = tmpvar_18.xyz;
|
|
tmpvar_19.w = (1.0 - t0_1.w);
|
|
mediump vec4 tmpvar_20;
|
|
tmpvar_20.xyz = (((t0_1.xyz * t0_1.w) + (tmpvar_19.xyz * tmpvar_19.w)) * tmpvar_15);
|
|
tmpvar_20.w = (t0_1.w + tmpvar_19.w);
|
|
gl_FragData[0] = tmpvar_20;
|
|
}
|
|
|
|
|
|
|
|
#endif"
|
|
}
|
|
}
|
|
Program "fp" {
|
|
SubProgram "gles " {
|
|
"!!GLES"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
Fallback "VertexLit"
|
|
} |